设计模式之抽象工厂模式

抽象工厂模式:定义了一个创建对象的接口,让子类决定实例化哪一个类。

抽象工厂模式的优点之一是符合“开放-封闭”原则,即对修改是封闭的,对扩展是开放的。

相比简单工厂模式,抽象工厂模式并没有将对象的生成放在工厂类中,而是放在工厂的子类中。

如果需要添加对象,只需要添加对象的类,并且添加生成对象的工厂则可以,不需要对原来的代码进行修改。

抽象工厂的类图:

设计模式之抽象工厂模式

public interface Fruit {

public abstract void eat(String sun, String water);

}

public interface Factory {

public abstract Fruit getFruit();

}

public class Apple implements Fruit {

public void eat(String sun, String water) {

}

}

public class AppleFactory implements Factory {

public Fruit getFruit() {

return new Apple();

}

}

public class Bananas implements Fruit {

public void eat(String sun, String water) {

}

}

public class BananasFactory implements Factory {

public Fruit getFruit() {

return new Bananas();

}

}

public class Client {

public static void main(String[] args) {

Fruit apple = new AppleFactory().getFruit();

apple.eat("阳光","水");

Fruit bananas = new BananasFactory().getFruit();

bananas.eat("阳光","水");

}

}

分类:默认分类 时间:2015-03-05 人气:3
本文关键词:
分享到:

相关文章

Copyright (C) quwantang.com, All Rights Reserved.

趣玩堂 版权所有 京ICP备15002868号

processed in 0.037 (s). 9 q(s)