Home 设计原则
设计原则
取消

设计原则

 

七大设计原则 

  • 单一职责
  • 开闭
  • 里氏代换
  • 依赖倒转
  • 接口隔离
  • 合成复用
  • 迪比特法则

 

作业一、

4个原因——找案例分析:

  • 过于僵硬
  • 过于脆弱
  • 复用率低
  • 黏度过高

 

作业二、面向对象的用单一职责?

作业三、开闭原则的书店那题

 

好的软件

  • 可扩展性
  • 灵活性
  • 可插入性

 

单一职责

  • 一个类的职责越多,可复用性能越低
  • 一个对象只包含单一的职责,而且该职责被完整的封装在类里面

开闭原则

  • 对可变性封装原则
  • 对扩展是开放的,对修改是关闭的
  • 使用委托?的方式来做

里氏代换原则

  • 所有引用基类的地方必须能透明的使用其子类 
  • 举例中main使用cryptoA,而cryotoB继承自cryptoA

依赖倒转

  • 高层不能依赖低层,都依赖抽象,抽象不依赖细节,细节依赖抽象
  • 针对接口编程,不依赖实现编程
  • 在代码中使用抽象类,将具体类放入配置文件
  • 类之间低耦合,以抽象方式耦合
  • 控制反转和依赖注入

接口隔离

  • 客户端不应该依赖那些它不需要的接口
  • 一个接口太大就需要把它分解,每一个接口承担独立的角色
  • 接口仅仅提供客户端需要的行为
  • 满足单一职责

合成复用

  • 尽量使用对象组合,而不是继承来达到复用的目的
  • 组合优于继承
  • 通过委派来复用类中的操作
  • 组合和聚合是黑箱操作,继承是白箱操作

迪米特法则

  • 最少知识原则
  • 每个软件单位对其他单位都只有最少的知识,而且局限于那些与本单位密切相关的单位 
  • 最小权限原则
  • 对朋友对象开放
  • 非朋友类如果访问需要调用第三个类

 

 

5月6日

作业一:XML设计思想应用实例

 

5月8日(我的作业)

作业:设计原则在Java中的实现方法(比如加密类)

先讲是什么问题

解决方案

类图

代码实例

不做太多 

 

 作业二(Linux用户权限等级实现)(周哥的问题)

 

 

 

 

 

该博客文章由作者通过 CC BY 4.0进行授权。