抽象工厂类就是有一个工厂类接口,有多个具体的工厂类继承这个工厂类接口,获取工厂类需要制定具体调用哪一个工厂类实例,然后调用这个工厂类中的方法获取指定的对象。
在java开发中,应该活用配置文件去进行开发,将配置文件,加入到我们的撸代码的思路中,这样,撸代码的思维,就比较的开阔
抽象工厂模式 常见应用
抽象工厂模式经典应用
抽象工厂模式类图。。。思路要清晰
@设计模式---工厂模式之 抽象工厂模式
1.创建两个接口,如:Boy,有drawMan();Girl,有drawWoman()。
public interface Boy { public void drawMan(); } public interface Girl { public void drawWoman(); }
2.创建接口的各两个实现类,如:HNBoy、MCBoy;HNGirl、MCGirl。
public class HNBoy implements Boy { @Override public void drawMan() { System.out.println("新年系列的男孩"); } } public class MCBoy implements Boy { @Override public void drawMan() { System.out.println("圣诞系列的男孩"); } } public class HNGirl implements Girl { @Override public void drawWoman() { System.out.println("圣诞系列的女孩"); } } public class MCGirl implements Girl { @Override public void drawWoman() { System.out.println("圣诞系列的女孩"); } }
3.创建主工厂接口,如:PersonFactory。
public interface PersonFactory { //男孩接口 public Boy getBoy(); //女孩接口 public Girl getGirl(); }
4.创建次工厂类实现主工厂接口,如:HNFactory和MCFactory。
public class HNFactory implements PersonFactory { @Override public Boy getBoy() { return new HNBoy(); } @Override public Girl getGirl() { return new HNGirl(); } } public class MCFactory implements PersonFactory { @Override public Boy getBoy() { return new MCBoy(); } @Override public Girl getGirl() { return new MCGirl(); } }
5.测试用例
PersonFactory factory = new MCFactory(); Girl girl = factory.getGirl(); girl.drawWoman();