《练习2制作讲解面向对象设计的基本原则中心名称班级号学员姓名单一职能原则》由会员分享,可在线阅读,更多相关《练习2制作讲解面向对象设计的基本原则中心名称班级号学员姓名单一职能原则(9页珍藏版)》请在金锄头文库上搜索。
1、在线培训:面向对象设计,第七章,目标,掌握面向对象设计原则之单一职能原则,概述,面向对象设计原则 在使用面向对象思想进行系统设计时,总结出了若干面向对象设计原则,分别是 单一职责原则 开闭原则 里氏代换原则 依赖注入原则 接口分离原则 迪米特原则 组合/聚合复用原则 这些原则是面向对象设计的基石,坚持这些原则是提升面向对象设计质量的重要保障,单一职能原则,定义 SRP:Single Responsibility Principle; 系统中的每一个类都应该只有一个职责,而所有类所关注的就是自身职责的完成 职责是指为“变化的原因” 如果能想到多个原因去改变一个类,这个类就具有多个职责 并不是单一
2、功能原则,并不是每个类只能有一个方法,而是单一“变化的原因”原则,单一职能原则,好处 单一职责原则的意思就是经常说的“高内聚、低耦合” 如果一个类有多个职责,这些职责就耦合在了一起,当一个职责发生变化时,可能会影响其它的职责 多个职责耦合在一起,会影响复用性 可能只需要复用该类的某一个职责,但这个职责跟其它职责耦合在了一起,很难分离出来,单一职能原则,举例1 计算工资规则是易变的,向数据库存取数据的方式是不多变的,并且两者变化的原因是不同的 违背了单一职能原则,两个方法不应放在同一个类中,class Accountant / 会计 public void calculateSalary() /
3、 计算工资 public void store() / 存储数据 ,单一职能原则,举例2 定义了连接和关闭数据库操作、数据库数据操作,如果底层数据库变化,则getConnection()方法需要改变,但数据操作方法可能无需改变 可以按照单一职责原则把该接口一分为二,分别处理一种操作,interface Dao Connection getConnection(); / 获取连接 void close(); / 关闭连接 void executeUpdate(String sql);/ 执行添加、更新、删除操作 ResultSet executeQuery(String sql);/ 执行查询操作 ,单一职能原则,总结 单一职能原则是所有原则中最简单的、最基本的一个 可以提高类的内聚性,有助于充分发挥面向对象编程语言的优势 要注意过犹不及。 在没有需求变化征兆的的情况下,不要使用单一职责原则对类进行过细拆分,