口诀:创建工厂单元
1 建造者模式 A
在客户端使用链式调用,一步一步的把对象构建出来。
问题:
电脑组装有很多组合,导致构造函数爆炸
解决:
一步步构建出来,eg:
Computer computer=new Computer.Builder("因特尔","三星")
.setDisplay("三星24寸")
.setKeyboard("罗技")
.setUsbCount(2)
.build();
2 工厂方法模式
使用一个静态工厂方法来简单的if-else, 没什么好讲的。
工厂类抽象化,去代替简单工厂中的静态工厂方法。好处:增加一个产品只需增加对应工厂,不修改原有工厂的代码。
(不同工厂生产不同具体产品)
3 抽象工厂模式
关键点:相对工厂方法,对具体产品进行抽象。
(不同工厂生产不同产品族,不同产品族衍生不同具体产品)
详细
4 单例模式
5 原型模式
- 定义:从A的实例得到一份与A内容相同,但是又互不干扰的实例。