设计模式(1)

设计模式(1)

设计原则

面向对象编程要点:
(1) OO 基础: 抽象,封装,多态,继承。
(2) OO 原则:封装变化; 多用组合,少用继承; 针对接口编程,不针对实现编程。
(3) OO 模式:如,策略模式,定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法
的变化独立使用算法的客户。

  • 设计原则一
找出应用中可能需要变化之处,把它们独立起来,不要和那些不需要的变化的代码混在一起。
  • 设计原则二
针对接口编程,而不是针对实现编程。

“针对接口编程”真正的意思是“针对超类型(supertype)编程”。“接口”有多个含义,接口是一个“概念”,
也是一种Java的interface构造。另外,也可以不涉及 Java interface 的情况下,“针对接口编程”,
关键就在多态。

  • 设计原则三
多用组合,少用继承
  • 设计原则四:依赖倒置
要依赖抽象,不要依赖具体类。

这个原则说明:不能让高层组件依赖底层组件,而且,不管高层或低层组件,“两者”都应该依赖于抽象。
避免 OO 设计中违反依赖倒置原则:
(1)变量不可以此有具体的引用。
(2)不要让类生自具体类。
(3)不要覆盖基类中的已实现的方法。

  • 设计原则五:最少知识原则
    只和你的密友谈话,减少对象之间的交互。也就是说,当你正在设计一个系统,不管是任何对象,
    你都要注意它所交互的类有哪些,并注意它和这些类如何交互的。不要让太多的类 耦合在一起,免得
    修改一部分,
    会影响到其他的部分。

调用以下范围的方法:

  (1) 对象本身
  (2) 被当做方法的参数而传递进来的对象
  (3) 此方法所创建或实例化的任何对象
  (4) 对象的任何组件

例:

public float getTemp(){
  Thermoeter thermoeter = station.getTherometer();
  return thermoeter.getTemperature();
}

修改:

public float getTemp(){
  return station.getTemperature();//加入一个方法,减少一个类的依赖。
}
  • 设计原则六:好莱坞原则
    别调用我们,我们会调用你。
posted @ 2015-10-21 11:05  blackBox  阅读(179)  评论(0编辑  收藏  举报