一.什么是工厂模式
父类决定实例的生成方式,但并不决定索要生成的具体的类,具体的处理全部交给子类负责.
二.解析
1.父类Factory通过模板设计模式,定义create函数的模板,create用于生成其他类,并包含create所需要的两个抽象类createProduct,registerProduct.
2.子类IDCardFactory来实现reateProduct,registerProduct的具体方法.
------------以上完成了类的生成方式.
3.父类Product,定义了在工厂模式中生成的那些实例所持有的接口(API),但具体处理交付子类IDCard.
4.子类IDCard负责调用Product角色和生成实例的方法.
不用New关键字来生成实例,而是调用实例的专用方法来生成实例,这样就可以防止父类与其他具体类耦合.
三.实例
1.Main程序
public class Main{
public static void main(String[] args){
Factory factory = new IDCardFactory(); //factory的create方法用来创建IDCard实例
Product card1 = factory.create("小明");
Product card2 = factory.create("小红");
Product card3 = factory.create("小刚");
card1.use();
card2.use();
card3.use();
}
}