• SOLID六大设计原则总结


    simple responsibility principle 单一职责原则。

    there should never be more than one reason for a class to change. 一个类中应该只处理一个职责,而不应该同时处理多个职责。否则当出现类需要修改时,可能会导致其他职责不能正常使用。

    好处是提高代码可读性,系统可维护性,复杂度降低。

    Open close principle 开闭原则

    软件实体应该是可扩展的,对于扩展是开放的,而对于修改是关闭的。开闭原则的关键是抽象,通过抽象一组功能,而没有具体的实现,能够使软件的功能随着需求的变化而变化。

    好处是类的可维护性提高,复杂度降低。

    LisKov substitutation principle 里氏替换原则

    1.派生类不应该重写基类的非抽象方法。2.当需要功能扩展时,应该尽量不要重写基类的方法,而是另写一个方法。3. 如果需要重写基类的方法,则方法的参数应该比基类的参数更宽松。总之,派生类不应该影响基类所实现的具体方法。

    里氏替换原则是开闭原则的重要实现方法之一。有利于提高代码可维护性。

    Law of Demeter 迪米特原则

    talk only to your immediate friend. 一个类应该尽可能与其他类保持联系,尽可能少知道其他类的信。尽量使用private属性,一个类不该由自己实现的功能就不要实现,避免引入不相干的类。

    主要目的是为了实现低耦合,提高系统稳定性。

    Interface segregation prinpical 接口隔离原则

    类之间的依赖应该建立在最小粒度的接口上,也就是说,接口的设计应该满足单一职责原则。每个调用方最好能有自己专业的接口,而不能建立一个庞大的接口供所有调用方使用。

    好处是可以避免接口污染,接口污染会导致一个类实现不必要的功能。提高灵活性,实现高内聚。

    Dependence inversion principal 依赖倒置原则

    高层模块不应该依赖于底层模块,两者都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。依赖倒置的中心思想是面向接口编程。

    好处是减少类之间的耦合,提高代码可读性。

  • 相关阅读:
    python 模拟浏览器
    转:如何评价架构的优劣
    转:DotNET企业架构应用实践架构师成长之路如何成为优秀架构师
    转:大规模网站架构实战之体系结构(一)
    转:Twitter的设计原则
    转:关于大型asp.net应用系统的架构—如何做到高性能高可伸缩性
    转:我眼中的Visual Studio 2010架构工具
    转:解剖Twitter
    转:Discuz!NT前台模型架构(MVC)
    转: "HTTP 错误 401.1 未经授权:访问由于凭据无效被拒绝"的另类解决方案
  • 原文地址:https://www.cnblogs.com/fish-fly/p/12778791.html
Copyright © 2020-2023  润新知