装饰模式
我的理解:
适应于单一职责原则的模式,就是说,如果在主类中需要添加一些装饰功能,应该写一个
D
e
c
o
r
a
t
o
r
Decorator
Decorator类,然后具体的装饰功能再继承该类往后写。比如如果我想在我的程序里面写一个界面风格,那我可以写一个装饰器类,然后在主类中调用它。
代理模式
我的理解:
在处理主体和客体之间引入一个代理,间接完成工作,这样代理可以更加灵活地拓展功能。
工厂模式
依据开放封闭原则的改进,在简单工厂模式中,每添加一个新功能,就需要改case语句,那么可以将选择的部分抽象出来变成一个类,减少了对源代码的修改,但是其实这样会增加客户端的复杂性。
原型模式
我的理解:
如果要复制一个对象,需要使用原型进行复制而不能直接引用,而复制又分为浅复制和深复制,浅复制只复制值类型,而引用类型只复制引用指针,不复制引用对象,所以对于对象中引用的对象要进一步进行拷贝。
模板模式
区分出子类中可变和不变的部分,将不变的部分,抽象出来,减少子类的工作量。