zoukankan      html  css  js  c++  java
  • 几个基本的设计原则

      面向对象的分析设计有很多原则,这些原则从思想层面上给我们指出分析设计的正确方向。而设计模式就是这些设计原则的一些具体体现,它是针对某个场景下某些问题的某个解决方案。 

    一、单一职责原则

     一个类应该仅有一个引起它变化的原因(即它只有一个职责)。

    二、开闭原则、里氏代换原则、依赖倒转原则

    开闭原则:软件实体应当对扩展开放,对修改关闭。

    里氏代换原则:任何基类可以出现的地方,子类一定可以出现。

      让子类继承父类或实现父类接口,并实现在父类中声明的方法,运行时,子类实例替换父类实例,可以很方便地扩展系统的功能,无须修改原有子类的代码,增加新的功能可以通过增加一个新的子类来实现。

    依赖倒转原则:不应该是抽象依赖于具体,而应该是具体依赖于抽象。

      很多人觉得层次调用的时候该有高层调用“底层接口”这是一种典型的误解。事实上,一般高层模块包含对业务功能的处理和业务策略选择,应该被重用,是高层模块去影响底层的具体实现。

    开闭原则(OCP)是面向对象中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段和基础(比如依赖倒转原则、里氏替换原则)。

    三、合成复用原则

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

    四、接口隔离原则

     使用多个专门的接口,而不使用单一的总接口。

    五、最少知识原则

     降低类之间的耦合。一个软件实体应当尽可能少的与其他实体发生相互作用。每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。

    ......

    面向接口编程原则

  • 相关阅读:
    LightOJ 1236 Pairs Forming LCM(算数基本定理)
    LightOJ 1197 Help Hanzo(区间素数筛法)
    hdu4291 A Short problem(矩阵快速幂+循环节)
    弗洛伊德判圈法
    poj 1845 Sumdiv (算数基本定理+逆元)
    2018 ACM-ICPC 亚洲青岛区域网络赛 K XOR Clique(异或)
    牛客网暑期ACM多校训练营(第二场)A-run
    最长上升子序列和最长公共子序列
    Olympic Bus
    现代密码学
  • 原文地址:https://www.cnblogs.com/songcf/p/3058477.html
Copyright © 2011-2022 走看看