面向对象设计2课程.pptVIP

  • 7
  • 0
  • 约1.11万字
  • 约 68页
  • 2016-12-20 发布于江苏
  • 举报
单一职责原则 以调制解调器为例如下图: 单一职责原则 从上述类图里面我们发现有四个方法Dial(拨通电话),Hangup(挂电话),Receive(收到信息),Send(发送信息),经过分析不难判断出,实际上Dial(拨通电话)和Hangup(挂电话)是属于连接的范畴,而Receive(收到信息)和Send(发送信息)是属于数据传送的范畴。这里类包括两个职责,显然违反了SRP。 单一职责原则 这样做有潜在的隐患,如果要改变连接的方式,势必要修改Modem,而修改Modem类的结果导致凡事依赖Modem类可能都需要修改,这样就需要重新编译和部署,不管数据传输这部分是否需要修改。 因此要重构Modem类,从中抽象出两个接口,一个专门负责连接,另一个专门负责数据传送。依赖Modem类的元素要做相应的细化,根据职责的不同分别依赖不同的接口。如下图: 单一职责原则 这样以来,无论单独修改连接部分还是单独修改数据传送部分,都彼此互不影响。 开闭原则 开放封闭原则是所有面向对象原则的核心。软件设计本身所追求的目标就是封装变化,降低耦合,而开放封闭原则正是对这一目标的最直接体现。 开放封闭原则主要体现在两个方面: 对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。 对修改封闭,意味着类一旦设计完成,就可以独立其工作,而不要对类尽任何修改。 开闭原

文档评论(0)

1亿VIP精品文档

相关文档