设计原则:多用组合,少用集成,把变化封装起来, 针对接口编程而非实现。
软件的维护阶段所用的时间远远大于开发时间,所以 可维护性,扩充性 是一个软件必须要注意的地方。
模式可以让开发人员之间有共享的语言,能够最大化沟通的价值。
策略模式:定义算法簇,分别封装变化,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
观察者模式里,分主题(可被观察者)跟观察者2个对象。
主题里维护了一个存放观察者对象的列表: arraylist; 还有注册,注销,通知等方法。
观察者定义了一个接口,共同实现了update 方法,等主题有更新时,循环列表调用 Update方法。
观察者里面维护了一个主题的引用,以便调用主题的注销与注册方法。
主题也可以设置状态,以便确定什么时候什么时候更新数据。
为交互对此昂之间的松耦合设计二努力。
Swing 里面很多地方用到了这个模式。如 button的事件通知 。 actionperformed;