大话设计模式学习2
工厂模式
目的:克服简单工厂类中增加新功能需要去在case语句中添加
主要实现过程:将工厂类抽象为一个接口,需要增加不同的功能时继承此接口去创建对应的类,将相应的类的创建放在客户端。通过客户端去控制对应类的生成。
原型模式
目的:当需要对一个对象进行多次复制时,或者这个对象的大多数属性不变,只改变其中几个属性时。应用原型模式,对此对象进行拷贝。
主要实现过程:继承拷贝抽象接口,重写拷贝函数。注意深拷贝和浅拷贝
浅拷贝:只对值类型的数据进行复制,但是引用类型的数据只复制其引用。
深拷贝:对值类型的数据进行逐位复制,对引用类型的数据创建新的引用,复制其值。
模板方法模式
目的:定义一个操作中的算法骨架,而将这些步骤延迟到子类中。模板方法使子类可以不改变一个算法结构,即可重新定义算法某些特定步骤。
具体实现:将一些不变的内容抽象放在父类或者抽象类中,需要变化的内容在子类中进行重写。