Head.First.Object-Oriented.Design.and.Analysis《深入浅出面向对象的分析与设计》读书笔记(一)
2010-07-18 21:47 Virus-BeautyCode 阅读(3758) 评论(8) 编辑 收藏 举报题外话
又是一本Head.First系列的书,这个系列很多,包括:SQL、设计模式、C#、面向对象分析与设计、软件开发等。里面的语言生动活泼,很好的以故事的形式引出正文,而不是枯燥的文字。
书中开篇的建议
1、放慢速度。理解的越多,需要记忆的越少。
不要只是读,要停下来思考。当书中出现一个问题的时候,不要着急浏览答案,假设真的有人问你这个问题。你强迫你的大脑思考的越深,越是你学习和记忆的好机会。
2、做练习。写读书笔记。
不要只是看练习。拿起纸笔。大量的证据表明,学习时候的物理活动可以增加学习的效果。
3、不要跳着读
有一些内容会让你觉得没有太大的用处,其实他们都是内容的一部分,不要跳过他们。这不是可有可无的旁注。
4、确保这是你上床之前的最后一件事,或者至少是最后一件有挑战的事
学习的一部分,尤其是需要长期记忆的,通常在你放下书之后会在大脑中发生,这时候你的大脑需要自己的时间去做更多的处理。如果你在这段处理的过程中又放入新东西,你刚才学的一些内容会丢失。
5、喝大量的水
你的大脑在一个流动的液体中会工作的更好。脱氢胆固醇会降低认识能力,脱氢胆固醇在你感觉渴的时候会产生。
6、大声的说出来
说话时大脑的另一部分。如果你正在理解一些东西,或者想要在一会想起来什么东西,可以大声的讲出来。可以向其他人大声的解释它。你将会学的更快。
7、听从你的大脑
要注意你的大脑负荷是否已经过载。如果你发现自己开始忘记刚才读过的内容,是该休息的时候了。
8、Feel something
your brain needs to know that this matters.Get involved with the stories. Make up your own captions for the photos.
9、设计一些东西
将你读到的新东西进行自己的设计,或者是重新设计以前的东西。
正文
对于什么是好的软件,通常会有不同的意见。因为站的角度不同,关注点不同,得出的结论就会不同。
用户友好的程序员说:
好的软件通常会做用户想要它做的事情。因此,即使用户想以一种新的方式使用它,它也不应该挂掉或者是给出一个不在预期的结果。
面相对象的程序员说:
好的软件的代码应该是面向对象的,因此不应该有一群重复的代码,每一个对象应该很好的控制自己的行为。应该很容易扩展,因为你的设计是可靠并且灵活的。
设计大师说:
好的软件就是使用可靠的设计模式和原则。保持对象的松散耦合,代码对扩展开放,对修改关闭。保持代码的重用性。
轻松使用三步达到好的软件
- 保证你的软件做了用户想要做的事情。
- 应用基本的OO设计原则来增加灵活性。
- 追求一个可维护,可重用的设计。
为了证明什么是有缺陷的,下面是一些原则,可以帮助你找出不匹配的对象类型:
- 对象应该做和他们的名字相符的事情。如果一个对象叫做Jet,他应该会takeOff()和land(),不应该有takeTicket(),这很有可能是另外一个对象的任务,而不属于Jet。
- 每一个对象应该只代表一个概念。不应该让一个对象有两个或者三个职责。避免Duck对象代表木头鸭子,又代表橡皮鸭子。
封装允许你将应用按照不同的逻辑分组。