• 软件构造:SOLID设计原则


    SOLID设计原则

        软件构造的过程中有五大设计原则。按照这五条设计原则设计出来的程序,具有优秀的健壮性、可复用性、可拓展性和安全性。SOLID设计原则具体包括:SRP(The Single Responsibility Principle)单一责任原则、OCP(The Open-Closed Principle)开放-封闭原则、LSP(The Liskov Substitution Principle)里氏替换原则、ISP(The Interface Segregation Principle)接口隔离原则、DIP(The Dependency Inversion Principle)依赖转置原则。接下类,我来具体介绍一下每条原则:

    1.单一责任原则(SRP)

        单一责任原则的定义是:一个类只允许有一个责任,即只有一个导致该类发生变更的原因。如果有多个原因则将它们拆分开来,加强类的内聚性。类职责的变化往往是导致类变化的原因:也就是说如果一个类具有多种职责,就会有多种导致这个类变化的原因,从而导致这个类的维护变得困难。通过遵循单一责任原则,我们不但可以提高代码的可读性,也实际性的降低了程序出错的风险。

    2.开放-封闭原则(OCP)

        OCP原则包括两个方面:一是对拓展性的开放,即模块的行为应该是可拓展的,模块可表现出新的行为以满足需求的变化。二是对修改的封闭:模块自身的代码是不应被修改的,需要去拓展出新的类然后调用新的类。OCP原则典型的应用,就是我上一篇博客所讲的面向可复用性编程的几种模式,感兴趣的同学可以去看看。

    3.里氏替换原则(LSP)

        里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。里氏替换原则具体体现为,子类方法的参数是父类参数的逆变,返回值是父类型的协变,作用域不能小于父类型,抛出的异常不能比父类型更宽泛,如果父类型没有抛出任何异常,子类型必须捕获所有的checked异常。

    4.接口隔离原则(ISP)

        ISP原则的定义是:不能强迫客户端依赖于它们不需要的接口,只提供必须的接口。这种原则可以避免接口的污染,防止接口的参数过多,产生“胖接口”。在出现胖接口时,我们可以将胖接口分解成多个只需要较少参数的小接口,通过不同的接口向客户端提供不同的服务,客户端只需要调用自己需要用到的接口。这种设计原则减轻了客户端程序开发的负担,同时也提升代码的可读性。

    5.依赖转置原则(DIP)

        依赖转置原则包括两个方面:一是高层模块不应该依赖于底层模块,二者都应该依赖于抽象。二是抽象不应该依赖于实现细节,实现细节应该依赖于抽象。

  • 相关阅读:
    专业的GIS(电子地图、地理信息系统)在房地产行业的初步应用?
    Weka初步
    ViewPager用法
    相关分析和回归分析
    配置路线图RouteMap注意事项
    keyset与entryset
    Windows 应用程序结构
    Linux crontab 命令格式与具体样例
    java环境变量配置
    为什么你总成为不了架构师?
  • 原文地址:https://www.cnblogs.com/mzh2017/p/16375686.html
Copyright © 2020-2023  润新知