今天看来两章的Head First设计模式,感觉一头雾水的。呵呵!还是硬着头皮看了下去,设计模式要求我们针对接口编程,现在的J2EE编程中很少使用接口,SSH2框架中action、service、dao、po好像都不写接口,直接就写实现类了。还有struts2要求我们的action继承ActionSupport,那不是跟与struts2的紧耦合了吗?是否违背了设计模式的原则了呢?搞不明白,或许是本人对这三个框的整合还没有理解透彻!
观察者(Observer)模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。这是Observer模式的定义,松耦合确实是很好的设计,但这种松耦合的设计是建立在丰富的开发经验基础之上的。这种松耦合的设计又是否必须建立在使用接口的基础之上呢?
Java内置的观察者模式使用的却不全是接口,Java.util.Observer和Java.util.Observable,但后者是类,观察者必须要继承它,Java是单继承的,这样也会对编程造成一定的麻烦。确实!可能是Java疏忽的一点。
接着装饰者模式更是费解,“开放-关闭”原则,倒是很赞同对扩展“开发”,对修改“关闭”,但具体的实现在头脑中根本没有概念。
还有就是OO原则要求的多用组合,少用继承,不知道组合到底是什么?带着一筐一筐的问题继续往下一章读。等着第二遍、第···,解决!