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

    1.单一职责原则

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

    2.开闭原则

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

    3.里氏代换原则

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

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

    4.依赖倒转原则

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

    5.接口隔离原则

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

    6.合成复用原则

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    oracle的wm_concat()方法与的排序问题,Oracle的 listagg 函数
    sql sever 常用的存储过程的写法或者说与Oracle中存过的异同点
    Oracle游标的使用
    oracle与sql sever的财务月份归属的问题
    sql sever使用习惯
    sqlsever 的存储过程的调试
    sql sever与Oracle的异同点
    单例模式
    线程 ---- 锁(生产者、消费者)
    IO 流理解实例
  • 原文地址:https://www.cnblogs.com/jerrice/p/7123254.html
Copyright © 2011-2022 走看看