首先应该明白一点,上面的设计模式都是存在这样一种情况:
有接口,有实现类,上面的模式主要用来怎样将实现类和接口有机的组合在一起。
简单工厂:
很简单,一个接口,一群实现类。通过条件选择来选择具体的类。
缺点:如果有新的实现类的话,需要更改工厂里面if的实现方法。
实例:
Iinterface iface = Factory.create(1);
工厂模式:
工厂是抽象的,里面定义了一个抽象的方法,由子类来具体实现。
IFacotory ifac = new FactConA();
Iinterface iface = ifac.create();
比较上面两个也就是产生具体类的时候,简单工厂使用的是一个具体的工厂来产生实例,工厂模式使用的是一个抽象的工厂来产生实例。
抽象工厂模式:
IFacotory ifac = new FactConA();
Iinterface iface1 = ifac.createA();
Iinterface iface2 = ifac.createB();
抽象工厂就是工厂模式的产品簇。