1,简单工厂模式:用一个工厂类专门来new各种产品。引用一个产品类的接口,用if。。。else。。。来区分不同产品。但是每当有新的产品时必须修改工厂类的代码。P117
2,工厂方法模式与抽象工厂模式:工厂方法模式有一个抽象工厂而且每个实际工厂只生产一个产品,两层工厂,两层产品。抽象工厂模式将产品进行更具体的分类,每个实际的工厂不在是生产一种产品,而是生产几种一类的产品,两层工厂,三层产品。
工厂模式统一管理对象的产生,在大项目中脉络清晰。
工厂方法UML
抽象工厂UML
3,创建者模式:抽象工厂模式的延伸,抽象工厂模式将工厂进行了分类,一个工厂可以制造出一系列的产品。而这些产品需要组装时,为了减小客户端压力,新建一个创建者,为创建者选择一个工厂当做参数,指定好工厂后,创建者可以生产产品并进行组装,客户端要选择好工厂类型,把产品的生产和组装都交给创建者。
4,原型模式:使用clone方法。当一个对象产生并且已经设定好成员变量时,此时调用clone