Head.First.Object-Oriented.Design.and.Analysis《深入浅出面向对象的分析与设计》读书笔记(一)...

  题外话

  又是一本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、设计一些东西

  将你读到的新东西进行自己的设计,或者是重新设计以前的东西。

  正文

  对于什么是好的软件,通常会有不同的意见。因为站的角度不同,关注点不同,得出的结论就会不同。

  

  用户友好的程序员说:

  好的软件通常会做用户想要它做的事情。因此,即使用户想以一种新的方式使用它,它也不应该挂掉或者是给出一个不在预期的结果。

 

  面相对象的程序员说:

  好的软件的代码应该是面向对象的,因此不应该有一群重复的代码,每一个对象应该很好的控制自己的行为。应该很容易扩展,因为你的设计是可靠并且灵活的。

  

  设计大师说:

  好的软件就是使用可靠的设计模式和原则。保持对象的松散耦合,代码对扩展开放,对修改关闭。保持代码的重用性。

  

  轻松使用三步达到好的软件

  1.   保证你的软件做了用户想要做的事情。
  2.   应用基本的OO设计原则来增加灵活性。
  3.   追求一个可维护,可重用的设计。

  

  为了证明什么是有缺陷的,下面是一些原则,可以帮助你找出不匹配的对象类型:

  •   对象应该做和他们的名字相符的事情。如果一个对象叫做Jet,他应该会takeOff()和land(),不应该有takeTicket(),这很有可能是另外一个对象的任务,而不属于Jet。
  •   每一个对象应该只代表一个概念。不应该让一个对象有两个或者三个职责。避免Duck对象代表木头鸭子,又代表橡皮鸭子。

  封装允许你将应用按照不同的逻辑分组。

  

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
强烈推荐 “《深入浅出面向对象分析设计》对OOA&D这个主题的探讨令人耳目一新。 本书与众不同之处在于它将焦点摆在学习上,本书的诸位作者让从业人员对OOA&D的内涵不再感到遥不可及,而且它在实际工作中确实有用。”               ——Iva Jacobson Ivar Jacobson Consulting UML之父 “隐匿在诙谐图片与逗趣文字背后的是对OOA&D这个主题认真、睿智且极具匠心的阐述。阅读本书,感觉就像站在专家的肩膀上环顾四方,聆听他一步步、细心倾诉那些重要的议题,并且告诉我为什么。”             ——Edward Sciore 波士顿学院计算机科学系副教授 “刚读完这本书,我就深深地爱上它了!我最喜欢的一件事就是本书把焦 点放在我们实践OOA&D的原因上一写出伟大的软件!”                         ——Kyle Brown IBM杰出工程师你是否早已对市面上那些只有在成为专家以后读起来才有感觉的OOA&D书籍感到厌倦?你可能早就听说过OOA&D书籍能帮助你写出伟大的软件一让老板高兴、客户满意的软件。 《深入浅出面向对象分析设计》将告诉你如何分析设计以及撰写真正面向对象的软件:容易重利用、好维护、可扩展的软件;不再使你心碎的软件;让你增添新功能而不会破坏旧机制的软件。在本书中,你将学到:   使用诸如封装(encapsulation)与委派(delegation)的OO原则建立灵活的应用程序。   使用开闭原则(Open—C10 sed Principle)与单一责任原则(Single—Responsibility Principle)提升程序的重利用性。   学习如何将OO原则、设计模式及各种开发方法通通整合到OOA&D项目的生命周期里。   运用UML、用例及用例图来确保所有利害关系人都能清楚地进行沟通,协助你交付正确的软件,达到每个人的要求。   通过一连串的脑力开发,《深入浅出面向对象分析设计》压缩了学习与获取复杂信息所需的时间。可以预料,这将是一段充满乐趣的学习之旅。相信在读完本书之时,你肯定能够写出伟大的软件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值