欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计模式五个原则

程序员文章站 2024-03-16 22:08:46
...

一、开放封闭原则

    概念:
开放封闭原则(Open-Closed Principle):一个软件实体
应当对扩展开放,则修改关闭。
   在设计一个模块时,应当使得这个模块可以在不被修
改的前提下被扩展。也就是说,应当可以在不必修改源
代码的情况下修改这个模块的行为。
   设计的目的便在于面对需求的改变而保持系统的相对
稳定,从而使得系统可以很容易的从一个版本升级到另
一个版本。
    例子:
        未使用开放封闭原则
设计模式五个原则
        使用了开放封闭原则

设计模式五个原则

    优点:

   1.通过扩展已有的软件系统,可以提供新的行
为,以满足对软件的新需求,是变化中的软件有
一定的适应性和灵活性。
   2.已有的软件模块,特别是最重要的抽象模
块不能再修改,这就使变化中的软件系统有一定
的稳定性和延续性。

二、单一职责原则

    概念:就一个类而言,应该仅有一个引起它变化的原因。

    示例:

接受客户端输入并提交到数据库。
原有设计:
    一个类负责接受客户端输入,对客户端输入进
行校验,连接数据库,并提交数据到数据库。

现有设计:
    一个功能也就是一个职责由一个类来负责。

三、里氏代换原则(能放父类的地方就能放子类

    概念:
    一个软件实体如果使用的是一个父类的话,那
么一定适用于其子类,而且它察觉不出父类和子
类对象的区别。也就是说,在软件里面,把父类
替换成它的子类,程序的行为没有变化。
一个软件实体如果使用的是一个子类的话,那么它不能适用于其父类。(反过来不成立

设计模式五个原则    设计模式五个原则设计模式五个原则

四、依赖倒转原则

    概念:
1.抽象不应该依赖于细节,细节应该依赖于抽象。
2.高层模块不依赖底层模块,两者都依赖抽象。

设计模式五个原则

    示例:设计模式五个原则

五、迪米特法则(最少知识原则)

    概念:一个对象应当对其他对象尽可能少的了解。
    狭义的迪米特法则:
   如果两个类不必彼此直接通信,那么这两个类
就不应当发生直接的相互作用。如果其中一个类
需要调用另一类的某一个方法的话,可以通过第
三者转发这个调用。

    示例:

设计模式五个原则