zoukankan      html  css  js  c++  java
  • 【札记】设计的五个原则

    1、 单一职责原则

    核心思想:一个类,最好只做一件事,只有一个引起它变化的原因。

    参考Facade模式或者Proxy模式

    2、 开放封闭原则

    核心思想:软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开发的,而对修改是封闭的。

    对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。

    对修改封闭,意味着一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。

    参考Template Method模式或Strategy模式。

    3、 依赖倒置原则

    核心思想:依赖于抽象

    具体而言,依赖倒置体现在:

    高层模块不应该依赖于底层模块,二者都应该依赖于抽象

    抽象不应该依赖于具体,具体应该依赖于抽象

    当两个模块之间存在紧耦合的关系时,最好的办法就是分离接口和实现:在依赖之间定义一个抽象的接口,使得高层模块调用接口的方法,而低层模块实现接口的定义,以此来有效控制耦合的关系,达到依赖于抽象的设计目标

    4、 接口隔离原则

    核心思想:使用多个小的专门的接口,而不要使用一个大的总接口

    具体而言,接口隔离体现在:

    接口应该是内聚的,应该避免出现“胖”接口

    一个类对另一个类的依赖应该建立在最小的接口上,不要强迫依赖不用的方法,这是一种接口的污染

    5、 Liskov替换原则

    核心思想:子类必须能够替换其基类

    这一思想体现为对继承机制的约束规范,只有子类能够替换其基类,才能保证系统在运行期内识别子类,这是保证继承复用的基础。在父类和子类的具体实现中,必须严格把握继承层次中的关系和特征,将基类替换为子类,程序的行为不会发生任何变化。

  • 相关阅读:
    计算机网络
    二叉树
    队列
    百度脑图-离线版(支持Linux、Mac、Win)
    nested exception is java.lang.NoClassDefFoundError: javax/xml/soap/SOAPElement
    手写注解实现SpringMVC底层原理(虽简单却五脏俱全《注重思路》)
    java异常
    JVM相关
    redis相关总结
    mysql 数据库相关
  • 原文地址:https://www.cnblogs.com/xingluzhe/p/4724273.html
Copyright © 2011-2022 走看看