【读书笔记】《Head First设计模式(中文版)》【TBC】

背景 

好久没看书了(怪不得你菜),源码又看不进去(好像你能看懂一样),来学学设计。上学的时候学过GoF四人组的设计模式,但是已经全还给老师了,一点都没剩。目前负责的这个系统,是我这个菜狗三年前从0开始搞的(刚毕业,感谢领导信任),经历了五六个开发同学的加工,现在已经是乱成一锅粥了。但生活还是要过下去,人一样,代码也一样,能好一点是一点(stop)。说回正题,听说这本写得非常不走寻常路,语言风趣幽默,引人入胜。看了个开头,名不虚传,经典就是经典。

豆瓣链接:Head First 设计模式(中文版)

1 设计模式入门:策略模式

设计模式:经验的复用
弹性的设计:可以维护,可以应对改变

继承并不能很好地解决问题:
对代码做的局部修改,影响层面被扩大:某些子类新增行为,为了复用而在父类中做新增,导致不具备该行为的其他子类受到影响 举例橡皮鸭不会飞,诱饵鸭不会飞也不会叫

另一个不好的方案是把行为抽象为interface,这样会造成重复代码过多

软件开发的一个不变真理--改变
不管当初软件设计得多好,一段时间之后,总是需要成长与改变,否则软件就会“死亡”

【设计原则】找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起:把会变化的部分取出并封装起来,以便以后可以轻易地改动或扩充,而不影响不需要变化的其他部分,代码变化引起的不经意后果变少,系统便得更有弹性

【设计原则】针对接口编程(针对超类型编程),而不是针对实现编程

封装好的接口是一个算法族,其具体实现为不同的算法,同一个算法族中的算法可以互换

【设计原则】多用组合,少用继承:在运行时动态地改变行为

【策略模式】定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户

设计是一门艺术,总是有许多可取舍的地方

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

2 让你的对象知悉现况

3 装饰者模式:装饰对象

4 工厂模式:烘烤OO的精华

5 单件模式:独一无二的对象

6 命令模式:封装调用

7 适配器模式与外观模式:随遇而安

8 模板方法模式:封装算法

9 送代器与组合模式:管理良好的集合

10 状态模式:事物的状态

11 代理模式:控制对象访问

12 复合模式:模式中的模式

13 与设计模式相处:真实世界中的模式

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Head.First设计模式共667页, 本书荣获2005年第十五届Jolt通用类图书震撼大奖。 本书英文影印版被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一 。 本书趋近完美,因为它在提供专业知识的同时,仍然具有相当高的可读性。叙述权威、文笔优美。 内容简介回到顶部↑强大的写作阵容。本书作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学硕士学位。Kathy Sierra(javaranch.com的创始人)FHBert Bates是畅销的HeadFirst系列书籍的创立者,也是Sun公司Java开发员认证考试的开发者。本书的产品设计应用神经生物学、认知科学,以及学习理论,这使得这本书能够将这些知识深深地印在你的脑海里,不容易被遗忘。本书的编写方式采用引导式教学,不直接告诉你该怎么做,而是利用故事当作引子,带领读者思考并想办法解决问题。解决问题的过程中又会产生一些新的问题,再继续思考、继续解决问题,这样可以加深体会。作者以大量的生活化故事当背景,例如第1章是鸭子,第2章是气象站,第3章是咖啡店,书中搭配大量的插图(几乎每一页都有图),所以阅读起来生动有趣,不会感觉到昏昏欲睡。作者还利用歪歪斜斜的手写字体,增加“现场感”。精心设计许多爆笑的对白,让学习过程不会太枯燥。还有模式告白节目,将设计模式拟人化成节目来宾,畅谈其内在的一切。本书大量采用uML的class Diagram(Static Structure Diagram)。书中的例子程序虽然都是用JaVa编写,但是本书所介绍的内容对于任何00语言的用户都适用,包括c++和c孝。每一章都有数目不等的测验题。每章最后有一页要点整理,这也是精华所在,我都是利用这一页做复习。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值