简单工厂模式 |
使用一个水果店创建水果,把创建水果的细节隐藏起来。 |
工厂方法模式 |
适用于一个画面只处理一种水果的情况 |
抽象工厂模式 | 适用于有包含多个部件的产品族情况。汽车的品种易更改,比如可以添加越野车,但其中的部件不易更改,比如如果想添加GPS,所有的现有类都要修改。 |
单例模式 | 当你想要使用一个全局变量来保存一个公有的对象时,请考虑该模式。 |
建造模式 | 获取一个有很多零件的产品。 建造模式与抽象工厂模式相似,都是用来创建包含多个部件的产品族,区别在于抽象工厂模式关注的是各个部件的创建,而建造模式不光要关注部件的创建,还要关注部件创建的流程,比如先要造好发动机,再造车身,因此,建造模式比抽象工厂模式要多出一个Director(工作人员)对象。而抽象工厂模式可以是建造模式的一部分。 工作人员操作汽车的创建流程,在组装汽车()方法里调用build发动机(),build离合器()等方法,然后Client调用get汽车()方法获得一个完整的汽车对象。 |
原始模型模式 | 复制一个对象。Java语言直接支持原始模型模式。 1. 浅复制:实现Cloneable接口后可以使用clone()方法对对象进行复制。 2. 深复制:实现Serilization接口 3. 有的对象或属性不能复制时,可以标识这个对象为transient,即不能序列化。 |