zoukankan      html  css  js  c++  java
  • 设计模式(一)面向对象设计原则

    1.单一职责原则

    一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。

    2.开闭原则

    一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展

    3.里氏代换原则

    所有引用基类(父类)的地方必须能透明地使用其子类的对象。

    里氏代换原则告诉我们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一个子类对象的话,那么它不一定能够使用基类对象。

    4.依赖倒转原则

    抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。

    5.接口隔离原则

    使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口

    6.合成复用原则

    尽量使用对象组合,而不是继承来达到复用的目的。

    7.迪米特法则又称为最少知识原则

    一个软件实体应当尽可能少地与其他实体发生相互作用。

    迪米特法则还有几种定义形式,包括:不要和“陌生人”说话、只与你的直接朋友通信等,在迪米特法则中,对于一个对象,其朋友包括以下几类:

    (1) 当前对象本身(this);

    (2) 以参数形式传入到当前对象方法中的对象;

    (3) 当前对象的成员对象;

    (4) 如果当前对象的成员对象是一个集合,那么集合中的元素也都是朋友;

    (5) 当前对象所创建的对象

    任何一个对象,如果满足上面的条件之一,就是当前对象的“朋友”,否则就是“陌生人”。在应用迪米特法则时,一个对象只能与直接朋友发生交互,不要与“陌生人”发生直接交互,这样做可以降低系统的耦合度,一个对象的改变不会给太多其他对象带来影响。

  • 相关阅读:
    动手动脑篇之类与对象
    团队精神
    在快乐中学习
    实习报告
    大道至简读后感(二)
    大道至简读后感
    读《大道至简》第一章有感
    指令随笔之:tail、cat、scp、&、&&、;、|、>、>>
    NFS安装过程
    CentOS7编译安装Nginx-1.8.1和编译参数
  • 原文地址:https://www.cnblogs.com/jerrice/p/7123254.html
Copyright © 2011-2022 走看看