大话设计模式

2018-05-07  本文已影响0人  LHZ_123

面向对象-OOP:类比我们的活字印刷术,可维护、可扩展、可复用和灵活性好

1、封装、继承、多态

2、单一职责原则:编程时要在类的职责分离上多思考,做到单一职责

3、开放-封闭原则-OCP:面对需求,新程序的改动是通过增加新代码进行的,而不是更改现有的代码。我们应该对程序中呈现出频繁变化的那些部分作出抽象,刻意的抽象、不成熟的抽象和抽象本身一样的重要。直白的说对外修改开放,对内修改封闭

4、依赖倒转原则:高层模块不应该依赖底层模块,两者都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象(直白的说法就是面向接口编程,不要面向实现编程)

5、里氏替换原则:子类型必须能够替换掉父类型。正是应该子类型的可替换性才使得父类型的模块在无需修改的情况下就可以扩展,不谈何谈开放-封闭原则

6、装饰模式:为已有功能动态地添加更多的功能的一种方式,优点是把类中的装饰功能从类中搬移去除,这样可以简化原有的类,好处是有效的把类的核心职责和装饰功能区分开,而且可以去除相关类中重复的装饰逻辑

7、代理模式:为其他对象提供一种代理以控制对这个对象的访问,说白了就是真实对象的代理,实际应用中有远程代理、虚拟代理、安全代理、智能引导(指调用真实对象时,代理处理另外一些事)

8、工厂方法模式:定义一个创建对象的接口,让子类决定实例化哪一个类,类的实例化延迟到其子类。工厂方法模式是简单工厂模式的进一步抽象和推广,由于使用了多态,工厂方法模式保持了简单工厂模式的优点,而且也符合了开放-封闭原则

9、原型模式:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象

10、模板方法模式:定义一个操作中的算法骨架,而将一些步骤延时到子类中。模板方法使得子类可以不该表一个算法的结构即可重新定义该算法的特定步骤。说白了,模板方法模式就是把不变的行为搬到超类,去除子类中重复的代码,提供一个很好的代码复用平台

11、迪米特法则-最少知识原则:如果两个类不必彼此通信,那么这两个类就不应当发生直接的相互作用。如果一个类需要调用另一个类的某个方法,可以通过第三者转发这个调用。类之间的耦合越弱,越有利于复用,一个处于弱耦合的类被修改,不会对有关系的类造成波及

12、外观模式(facade):为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这个子系统更加容易使用。经典的三层架构,数据访问层、业务逻辑层和表示层的层已层之间建立外观Facade

13、建造者模式:将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。用户只需要知道需要构建的类型就可以得到对象,而具体的构建过程和细节就不需要知道了。建造者模式中有一个很重要的类,指挥者(Director)来控制构建过程,用它来隔离用户与构造过程的关联

14、

UML类图

上一篇下一篇

猜你喜欢

热点阅读