• 学习设计模式


      设计模式总共有六大基本原则,统称为SOLID (稳定)原则,分别是S-单一职责原则(Single Responsibility Principle), O-开闭原则(Open closed Principle),L-里氏替换原则(Liskov Substitution Principle),L-迪米特法则(Law of Demeter),I-接口隔离原则(Interface Segregation Principle),D-依赖倒置原则(Dependence Invension Principle)。


    S-单一职责原则(Single Responsibility Principle)

     一、定义

      应该有且仅有一个原因引起类的变更。(There should never be more than one reason for a class to change.)

     

    二、理解

      一个接口或类只有一个职责,它只负责干一件事,也就是只有一个原因引起它的变化。单一职责原则提出了一个编写代码的标准,用"职责"或"变化原因"来判断一个接口或类是否设计优良,但"职责"和“变化原因”都是不可度量的,因项目而异,因环境而异。

      

      如上,图1-1的IUserInfo接口包含了多个职责,职责不分明,所以可拆分成用负责户属性和负责用户行为两个职责。职责分离,当有一天需要修改负责用户属性这个职责时,并不用担心影响到用户行为这个职责,这就是单一职责的好处。

    三、优缺点

      优点:

      1. 单一职责,复杂性降低

      2. 可读性提高

      3. 可维护性提高

      4. 变更的风险降低,如果一个接口的单一职责做的好,修改接口只对相应的实现类有影响,对其他接口无影响,这对系统的

          扩展性和维护性都有非常大的帮助

     

      缺点:

      暂无

     

    四、 注意事项

       单一职责原则提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口或类设计是否优良,但是“职责”和“变化原因”都是不可度量的,因项目而异,因环境而异。

      对于接口,我们在设计的时候一定要做到单一,但是对于实现类就需要多方面考虑了。生搬硬套单一职责原则会引起类的剧增,给维护带来非常多的麻烦,而且过分细分类的职责,会认为的增加系统的复杂性。本来一个类可以实现的行为硬要拆分成两个类,然后再使用聚合或组合的方式耦合再一起,人为制造了系统的复杂性。

      建议:接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。

    学习资料:

    《设计模式之禅》秦小波 著

      单一职责原则 

     

    人生没有彩排,每一天都是现场直播
  • 相关阅读:
    使 Inno Setup 打包出的安装程序以管理员身份运行
    SQL SERVER 数据库被标记为“可疑”的解决办法
    SQL SERVER 查看数据库信息
    【转】如何正确地处理时间
    如何获取 XAML 控件的模板代码
    Asp.Net MVC 把PartialView、View转换成字符串
    表达式树在LINQ动态查询
    ASP.NET MVC5 实现分页查询
    WPF
    正则表达式定义
  • 原文地址:https://www.cnblogs.com/timfruit/p/9306098.html
Copyright © 2020-2023  润新知