妙解Hibernate 3.x——叩响面向对象思想之门 读书笔记
在今年过生日的时候公司送了这本书给我,是部门老大挑的
找些时间看了下,由于在工作中并没有用到Hibernate,所有大部分内容没有看,
只看了前面的几章,当看到第三章,觉得仅第三章,这本书都值得一看(后面的章节由于用不到hibernate,只是简单过一遍)
第三章,看了不下三遍,觉得自己在某些地方还是看不懂,可能是对于面向对象的一些东西的理解还不够
使用继承、委托看待和拆解设计模式
将对象做虚,做软,不要被“变因”硬邦邦地绑住
—-封装变化
生成对象时,不直接new,才不会被具体对象绑死,此原则在学习面向对象中的创建模式有很好的指导作用
—-封装创建过程
模板方法与策略都将算法提取出来,只不过模板方法使用的是继承,策略使用的是委托
—-其实就这种模式,其本质应该是在其封装的变化的不同,模板方法是封装部分算法,而策略是封装整个算法
策略的重用性会高一些,只是需要付出一些额外的代价
回归最根本的面向对象思想:封装、继承、多态、委托
关于设计模式的学习:
1、接口、抽象类、具体对象是软件“软性”的指标之一,可按照实际需要的稳定性加以调整
2、研究模式三部曲:明确要解决的问题–>怎么解–>套用模式所带来的好处和副作用
3、从代码级看设计模式:
去掉new
去掉if/switch…case.
去掉重复的代码
4、开始接触一个新的设计模式,如果领导不到使用该模式的好处,不妨动手写一段程序,再来跟书中的实例进行比较
5、不时和自己的心灵对话—用自己的话来诠释模式,哪怕是简短的一句话,一个口诀,一个比喻
Builder 单一制程,不同风格
Sigleton just only one
Prototype 复制
Adapter 转换
Composite Tree
Decorator Dynamic composing behavior
Facade 简化
Proxy 本体/分身相互成就
Momento 借尸还魂
Strategy 替换多变的内部行为
6、不同的设计模式可能极其相似,搞不清是因为没有彻底掌握,这需要时间的积累
7、设计模式老是记不住,无法突破,那就放弃,过段时间再来温故知新
8、运用面向对象和设计模式,切忌矫枉过正,不要好处没得到,却被过度设计给弄复杂了
从Think in Data 到Think in Object
–EOF–
设计模式就是这样…看多了就有些模糊了…感觉很相似…
无非是抽象,松散,耦合….这些
嗯,先把所有的模式理一下,然后再分别,这只是面向对象思想的体现