Section 4_类图和对象图课件.pptVIP

  • 6
  • 0
  • 约1.08万字
  • 约 91页
  • 2017-08-18 发布于广东
  • 举报
* 违背LSP原则 Square类针对height、width添加了Rectangle所没有的附加的约束(即要求height=width),这样Square类(子类)不能完全替换Rectangle(父类) 违背了LSP原则 * 怎么办? 在可能的情况下,由抽象类(接口)继承 * 解决方案 * DIP(依赖倒置原则,The Dependency Inversion Principle) 高层模块不应该依赖于低层模块。二者都应该依赖于抽象 抽象不应该依赖于细节。细节应该依赖于抽象 针对接口编程,不要针对实现编程 依赖倒置原则DIP * 传统的依赖关系 依 赖 的 方 向 * 符合DIP的系统 依 赖 的 方 向 依 赖 的 方 向 * * 接口分离原则ISP ISP( The Interface Segregation Principle,接口隔离原则) 客户不应该依赖他们不用到的方法,只给每个客户它所需要的接口 为了避免“肥接口(fat interface)”,应当以一个类实现多个接口,而各客户仅仅获知必须的接口 * * 一个真实的例子: 某全文查找引擎的系统设计. 违反接口分离原则 * 探索器接口 索引生成器接口 搜索结果集接口 功能接口的划分: * 设计过程中注意的问题 遵守OO设计原则. 不同类中相似方法的名称应该相同. 遵守已有的约定俗成的习惯. 尽量减少消息模式的

文档评论(0)

1亿VIP精品文档

相关文档