您的位置:首页 > 其它

抽象工厂

2015-12-08 19:03 411 查看
工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题。

首先完全实现‘开-闭 原则’,实现了可扩展。其次更复杂的层次结构,可以应用于产品结果复杂的场合。   

工厂方法模式的对简单工厂模式进行了抽象。有一个抽象的Factory类(可以是抽象类和接口),这个类将不在负责具体的产品生产,而是只制定一些规范,具体的生产工作由其子类去完成。在这个模式中,工厂类和产品类往往可以依次对应。即一个抽象工厂对应一个抽象产品,一个具体工厂对应一个具体产品,这个具体的工厂就负责生产对应的产品。

具体:实体工厂实现抽象工厂,实体产品实现抽象产品;抽象工厂生产抽象产品,实体工厂生产实体产品;实体工厂A生产实体产品A,实体工厂B生产实体产品B。
实例代码:

package com.heng;

public interface InterfaceFactory {

public InterfacePhone creatPhone();

}
package com.heng;

public class AndroidFactory implements InterfaceFactory{

public InterfacePhone creatPhone() {
return new AndroidPhone();
}
}
package com.heng;

public class AppleFactory implements InterfaceFactory{

public InterfacePhone creatPhone() {
return new ApplePhone();
}
}
package com.heng;

public interface InterfacePhone {

public void name();

}
package com.heng;

public class AndroidPhone implements InterfacePhone{

public void name() {
System.out.println("我是Android手机");
}
}
package com.heng;

public class ApplePhone implements InterfacePhone{

public void name() {
System.out.println("我是苹果手机");
}
}
package com.heng;

public class Test {

public static void main(String[] args) {
//生产一个Android手机
InterfaceFactory androidFactory = new AndroidFactory();
InterfacePhone androidPhone = androidFactory.creatPhone();
androidPhone.name();

//生产一个苹果手机
InterfaceFactory appleFactory = new AppleFactory();
InterfacePhone applePhone = appleFactory.creatPhone();
applePhone.name();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: