设计模式-七大原则

设计模式原则:其实是程序员在编程时,应当遵守的原则,也是各种设计模式的基础(设计模式为什么这样设计的依据)

七大原则

  1 单一职责原则->一个类应该只负责一项职责,单一职责没有特定的设计,可以在类上使用单一职责,也可以在方法上使用单一职责,在方法上使用单一原则时需要注意类中的方法不应该太多,如果太多,就在类上使用单一职责

  2 接口隔离原则->一个类对另一个类的依赖应该建立在最小接口上,根据实际情况将接口进行拆分,降低接口方法在实现上的开销

  3 依赖倒转(倒置)原则->1.高层模块不应依赖低城模块,二者应该依赖其抽象

             2.抽象不应该依赖细节,细节应该依赖抽象

             3.依赖倒置的中旬思想是面向接口编程

             4.相对于细节的多变性,抽象的东西要文档得多,已抽象为基础搭建的架构比以细节为基础的架构更加稳定,在java中抽象指接口和抽象类,细节指实现类

             5.使用接口或者抽象类的目的是指定好规范,而不涉及任何具体的操作,把展现细节的任务交给实现类去完成

            总结:将接口作为参数而不是将实现类作为接口,继承时遵循里斯替换原则

  4 里斯替换原则-> 在适当的情况下,可以通过聚合,组合,依赖来解决问题,子类中尽量不要重写父类的方法,如果必须要重写时,可以使用组合的方式实现

  5 开闭原则-> 模块和函数应该对扩展开放,对修改关闭,用抽象构建框架,用实现扩展细节,尽量通过扩展的方式来实现变化,而不是通过修改已有代码来实现变化

  6 迪米特法则-> 1 一个对象应该对其他对象保护最少的了解

            2 类与类关系越密切,耦合度越大

            3 迪米特法则有交最少知道原则

         4 至于直接的朋友通讯

         5 直接的朋友:每个对象都会与其他的对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式有:依赖,关联,组合,聚合等

  7 合成复用原则->尽量使用合成或者聚合的方式,而不是使用继承

设计原则核心思想

  1 找出应用中可能需要变换的地方,把他们独立出来,不要和那些不需要变换的代码混在一起

  2 针对接口编程,而不是针对实现编程

  3 为了交互对象之间的松耦合设计而努力

设计模式类型

  创建型模式:单例模式,抽象工厂模式,原型模式,建造者模式,工厂模式

  结构性模式:适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式

  行为型模式:模板方法模式,命令模式,访问者模式,迭代器模式,观察者模式,策略模式,责任链模式,中介者模式,备忘录模式,解释器模式,状态模式

posted @ 2020-10-26 10:54  一个丶疯子  阅读(92)  评论(0)    收藏  举报