常用的设计模式:
原型模式:通过复制和克隆方式创建对象,这样无需知道创建对象的细节。
浅度克隆:如果克隆对象有引用类型的属性,则和原对象引用类型的属性,指向同一个对象。
深度克隆:克隆对象的引用类型的属性和原对象引用类型的属性,指向不同的对象,也就是本身对象的克隆,引用类型指向的对象也克隆。
外观模式:迪米特法则的具体体现,也就是类与类之间尽量减少交互,这样不会因为一个类的业务变化而导致另一个类的变化。
装饰器模式:对象功能的扩展能够根据需要来动态的实现。
代理模式:在目标方法执行前和执行后,附加非功能性的逻辑。
适配器模式:把一个类的接口变换成客户所期待的另一种接口,从而使原来因接口原因不匹配而无法一起工作的两个类能够一起工作。
观察者模式:让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生改变的时候,会通知所有的观察者对象使他们能够自动更新自己。
模板模式:将算法和流程固定下来,抽象未知的具体实现。
策略模式:将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。