zoukankan      html  css  js  c++  java
  • 程序设计的SOLID原则

    要想设计一个良好的程序,建议采用SOLID原则,若考虑了SOLID,可以使程序在模块内具有高内聚、而模块间具有低耦合的特点。

    SOLID原则包括5方面的内容:

    • S---单责任原则(SRP)
      一个模块只做一件事,责任单一,以便修改和错误定位。

    • O---开闭原则(OCP)
      一个模块要对扩展开放,对修改关闭。
      (1)通过增加代码来扩展功能,而不是修改已经存在的代码。
      (2)若客户模块和服务模块遵循同一个接口来设计,则客户模块可以不关心服务模块的类型,服务模块可以方便扩展服务(代码)。
      (3)OCP支持替换的服务,而不用修改客户模块。

    • L---李氏代换原则(LSP)
      客户模块不应关心服务模块的是如何工作的;同样的接口模块之间,可以在不知道服务模块代码的情况下,进行替换。---接口或父类出现的地方,实现接口的类或子类可以代入。

    • I---接口隔离原则(ISP)
      客户模块不应该依赖大的接口,应该裁减为小的接口给客户模块使用,以减少依赖性。如Java中一个类实现多个接口,不同的接口给不用的客户模块使用,而不是提供给客户模块一个大的接口。

    • D---依赖反转原则(DIP);
      (1)高层模块不要依赖低层模块;
      (2)高层和低层模块都要依赖于抽象;
      (3)抽象不要依赖于具体实现;
      (4)具体实现要依赖于抽象;
      (5)抽象和接口使模块之间的依赖分离。
      用函数指针,象接口一样,也可以去掉两个函数之间的直接依赖。

    参考:
    【1】《嵌入式C语言的测试驱动开发方法》【Test-Driven Development for Embedded C】James W. Grenning2011

  • 相关阅读:
    调试
    webpack output的path publicPath
    CSS实现单行、多行文本溢出显示省略号
    docker安装mysql
    构建docker镜像
    Tensorflow博文列表
    ML理论知识博文列表
    Python博文列表
    Opencv博文收藏列表
    Centos文章列表
  • 原文地址:https://www.cnblogs.com/hyper99/p/cheng-xu-she-ji-deSOLID-yuan-ze.html
Copyright © 2011-2022 走看看