• 1单一职责原则


    单一职责原则

    单一职责原则的英文名称是Single Responsibility Principle,简称SRP。

    1单一职责原则的定义

    英文原话是:
    There should never be more than one reason fro a class to change。
    UnderStanding:一个类,只能有一个存在的理由;即一个类应该只有一个职责。

    一个类,应当只负责一件事,并且只能有一个原因而引起它的变化,这就是单一原则。
    就像一个人,只有专注于一件事情,才能保证任务的高度完成;
    类也能专注一个职责,提高对象的高内聚;
    唯有单一职责,才能保证对象的细粒度。
    对象的高内聚与细粒度,更加有利于对象的重用。

    单一职责原则有利于对象的稳定。
    类的职责越少,则对象之间的依赖关系就越少,耦合就越弱,收到其他对象的约束与牵制也就越少,保证了系统的可扩展性。

    案例:媒体播放器
    在媒体播放器中,可以在MediaPlayer类中定义一组与媒体播放相关的方法,如open()、play()、close()等。
    这些方法从职责角度将是内聚的,完全符合单一职责原则中"专注于做一件事情"的要求。
    但如果需求发生扩充,还需要提供上传下载媒体文件的功能,那么在设计时,就应该定义一个新类,如MediaTransfer,由它来承担这一职责,而不是为了方便,草草的将新功能加入到MediaPlayer类中。

    单一职责的优点
    • 降低类的复杂度
    • 提高类的可读性
    • 提高代码的可维护性和复用性
    • 降低因变引起的风险

    2单一职责原则的应用

    JavaEE中的分层框架模式实际上体现了单一职责原则,他将整个系统按照职责的内聚性分为不同的层,层内的模块与类具有宏观的内聚性,所关注的事情是一致的。例如,业务逻辑层主要关注系统的业务逻辑与业务流,而数据访问性只负责数据的持久化与访问。
    一用户管理为例演示单一职责。在业务逻辑中定义类UserManager,在数据访问层定义类UserDao,在实体对象层定义类User,每个类具有不同的职责和功能。

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






    只要你不停下来,慢一点也没关系。
  • 相关阅读:
    No Hibernate Session bound to thread, and configuration does not allow
    谈谈数据库中MyISAM与InnoDB区别
    hibernate实体的几种状态:
    解决Eclipse导出javadoc乱码问题
    freemarker截取字符串
    many-to-one和one-to-many的配置比较
    one-to-many many-to-one配置解释
    extends:类似于java中的继承特征,extends="struts-default"
    eclipse 中创建maven web项目
    java.lang.ClassNotFoundException: javax.persistence.EntityListeners
  • 原文地址:https://www.cnblogs.com/zyl-0110/p/14027103.html
Copyright © 2020-2023  润新知