补充OO设计原则.pptVIP

  • 10
  • 0
  • 约1.25千字
  • 约 20页
  • 2017-08-09 发布于重庆
  • 举报
补充OO设计原则.ppt

东南大学软件学院 OO设计原则 东南大学软件学院 吴含前 主要内容 依赖关系(1) 依赖关系:系统中的一个对象与另外一个对象没有固定的关系,但是要依赖另外一个对象的服务,或者一个对象负责构造另一个对象的实例。 依赖关系(2) 例子: 充电电池与充电器; 自行车与打气筒; 依赖关系(3) 关联关系(4) 关联关系:系统中的一个对象与另外的对象具有固定的对应关系。 关联关系(4) 例子: 班主任和班级学生; 主人和自行车; 关联关系(5) 聚合关系 聚合关系:表示一个对象和其他对象之间是整体和局部的关系,在代码表达上和关联没多少区别; 强聚合关系:整体的生命周期涵盖了部分; OO设计原则 一个好的OO设计结果应该能够很好的适应需求的变化。OO设计的原则有: 开闭原则(Open/Closed Principle); 替换原则(Substitution Principle); 依赖倒置原则(Dependency Inversion Principle); 接口分离原则(Interface Segregation Principle); 开闭原则(1) 开闭原则:对系统的修改是封闭的,对系统的扩展是开放的; 开闭原则(2) 开闭原则的设计要求:采用抽象机制,采用接口就行封装,同时利用OO中的多态性; 开闭原则(3) 例子: 替换原则(1) 替换原则:子类能够替换父类能出现的任何地方。 替换原则(2) 替换原则的设计要求:把父类设计为抽象类或接口,子类功能的改变不会影响客户端对父类的调用。 替换原则(3) 依赖倒置原则(1) 依赖倒置原则:依赖关系应该尽量依赖接口或抽象类,而不是依赖于具体实现类。 依赖倒置原则(2) 传统的结构化的设计,高层的模块依赖于底层的模块。 在OO中,依赖倒置原则要求具体的实现依赖于抽象接口。 接口分离原则(1) 接口分离原则:采用多个与特定客户类有关的接口来替代一个通用的接口类。 接口分离原则(2) 接口分离原则要求:一个类需要为多个客户类提供服务,可以为每个客户类创建一个接口,然后由这个类实现所有的接口。 东南大学软件学院 * 东南大学软件学院 * 依赖关系/关联关系/聚合关系的区别; OO设计原则; 充电电池与充电器之间没有固定的关系; 自行车与打气筒之间没有固定的关系; 在自行车的类中不需要有Pump的属性,只是在打气的方法中包含了Pump的变量; 充电电池也是一样; 在person中将有自行车的属性变量,表示它们之间有固定的关系; 此处在代码上说明组合关系。Person与arm 类图在UML中的重要位置。UML成功80%依赖于类图,提到UML90%的人会想到类图,使用UML100%使用了类图。 Output根据目前系统连接的打印机就行打印输出,程序需要动态的就行判断,当增加一种打印机后,系统就要重新修改Output类,违背了OCP原则; 按照OCP原则,进行重新设计,引入Printer接口; * *

文档评论(0)

1亿VIP精品文档

相关文档