本文共 442 字,大约阅读时间需要 1 分钟。
工厂是用来生产对象的,也就是把new Object()操作放到了工厂里面。
工厂模式分为简单工厂、工厂方法,抽象工厂。
简单工厂就是建一个工厂类,里面包含各种产品对象的创建方法。
优点:简单,类少
缺点:扩展性不好,管理的事情比较多
工厂方法就是为每一种产品提供一个工厂类去创建,各产品的创建逻辑,在各产品工厂类中去实现。
优点:对产品横向扩展性好
缺点:类多,多个产品的组合情况比较麻烦
抽象工厂就是为每个产品提供一个抽象类,并为一族产品(多个抽象产品的组合)提供工厂类,这个工厂类是abstract,类中包含创建抽象产品族的抽象方法。 具体某一族产品的生产工厂需要继承此抽象工厂,并实现里面创建各产品的抽象方法。
所在抽象工厂里面,既有抽象产品,而且具体的产品需要继承自抽象产品,也有抽象工厂,而且工厂里面的抽象方法是创建抽象产品, 还需要具体的工厂,继承自抽象工厂并实现抽象方法,创建具体的产品。
优点:对于一族产品的横向扩展性好。
缺点:对于具体产品的扩展不友好,类也比较多。
转载地址:http://chcdi.baihongyu.com/