当前位置:编程学习 > JAVA >>

设计模式之抽象工厂模式

抽象工厂模式:定义了一个创建对象的接口,让子类决定实例化哪一个类。
抽象工厂模式的优点之一是符合“开放-封闭”原则,即对修改是封闭的,对扩展是开放的。
相比简单工厂模式,抽象工厂模式并没有将对象的生成放在工厂类中,而是放在工厂的子类中。
如果需要添加对象,只需要添加对象的类,并且添加生成对象的工厂则可以,不需要对原来的代码进行修改。
抽象工厂的类图:
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("阳光","水");
    }
}
 
 
 
 
 
 
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,