最近一口气看完了《java设计模式》这本书,感觉很不错,很多以前困惑的东西都一下都很明朗了,这里把书中的一些真知灼见和自己的理解说一下。
总体来说,这本书告诉我们从模式的角度来思考问题,什么是模式,模式就是抽象的角度来看待问题(即从概念的角度来看待问题),而不是规范(接口)或是代码,抽象的程度越高,你思考的程序构架就越清晰而且灵活,就越具有扩展性,其次要注意以下几个原则:
1. 对象是具有一组责任的事物。(所以你关注只是这个对象负责什么事,能完成什么事情)
2. 基于接口编程
3. 尽量使用聚合而不是继承
4. 找到你设计中可能存在变化的地方,封装它(就是最重要的一点,即封装变化,这也是扩展性真正要解决的问题)
5. 一个行为只实现一次(绝对不要相同的东西实现两次,一次性原则)