当前位置: 首页 > 实用文档 > 读书笔记 > 《面向对象设计实践指南》读书笔记

《面向对象设计实践指南》读书笔记

2015-09-26 17:52:56 编辑:lin13459411179 来源:http://www.chinazhaokao.com 成考报名 浏览:

导读: 面向对象应用由类组成,但是由消息定义,类控制着源代码的内容(静态),而消息体现的是活生生的应用(动态)。...

《面向对象设计实践指南》读书笔记

  面向对象应用由类组成,但是由消息定义,类控制着源代码的内容(静态),而消息体现的是活生生的应用(动态)。

  设计必须关心对象之间传递的消息。它不仅要解决对象所知道的内容(职责),以及对象都知道谁(依赖谁)的问题,还要解决他们彼此间如何进行对话的问题(消息接口)。

  类的接口暴露的过多,相互参杂,会导致这些对象被精细地、明确地和容灾性的调整到只能做他们现在所做的事情。

  每一个类都尽可能少的暴露自己,并且尽可能少的知道其它对象,可以让这个类变成可插拔的组件,增加其灵活性。

  每个类就像一个厨房。类的存在除了要实现许多方法,还要满足单一职责。公共部分和私有部分之间的存在差别,且是最有效的做事方法。如果让顾客来知道烹饪,那么当厨房配料不足,以及需要更换人手时,他们就不得不在接受培训。使用菜单避免了这个问题,让每一位顾客只询问他们想要的东西,同时不用知道有关厨房是如何制作它的任何事情。

  公共接口

  暴露了其主要职责

  期望被其它对象调用

  不会因一时兴起而改变

  对其他依赖它的对象来说是安全的

  在测试里被详尽的记录

  私有接口

  要处理实现细节

  不希望被发送到其它对象

  可以因任何不明的原因而变化

  对其他依赖它的对象来说不安全

  可能在测试里被引用

  类的公共部分是稳定的,而私有部分则是多边的。当将方法标识为公共或私有时,你便在告诉这个类的用户: 哪些方法是可以安全依赖的。当你的类使用了其他类的公共方法时,你就选择了相信这些方法是稳定的。当你决定依赖于其他对象的私有方法时,你应该明白:你正依赖某些天生就不够稳定的事物,因此它会增加你的风险,让你受到某个遥远毫不相干的变化所产生的影响。

  有着丰富设计经验的设计师,他们在心里建立了一张地图,其中描绘的是这个应用程序里可能存在的各种对象,以及他们之间可能存在的交互。他们不会束缚于任何特定的想法,并且会计划使用测试来发现替代品。

  领域对象(需求中那些浅显的名词)会被很容易找出来,但它们不是程序的设计中心。事实上,他们是一个为粗心大意而设立的陷阱。如果你关注这些领域对象,你就会倾向于给它们强加上行为。设计专家们也会注意到这些领域对象,但不会把精力放置到它们身上。他们不会去关注这些对象;相反,他们会去关注它们之间传递的消息。这些消息会引导你去发现其他的对象,而这些对象可远没有那么明显。

  时序图

  时序图提供了一种简单的方式,用来对不同对象的排列和消息传递方法进行试验。

  时序图两个主要部分: 对象和它们之间传递的消息

  横线表示的是消息。当有消息发送时,横线会被贴上消息的名称。消息的结尾或开始带有一个箭头,箭头指向接受者。当某个对象忙于处理接收到的消息时,它会变成活跃的,并且其数显会扩大成为一个垂直的矩形。

  上图被解读为: 顾客Moe现将suitable_traips消息发送到Trip类;接着,这个类会被激活,并处理这条消息;在处理完成之后,这个类会返回一个响应。

  用例里的名词在时序图里变成了对象,而用例的动作都变成了消息。

  时序图的价值在于: 它们明确指定了对象间传递的消息,因为对象间只应该使用公共接口进行通信;时序图是一种用于暴露、试验并最终定义这些接口的工具。

  面向消息的设计,首先要确定发送弄些消息,其次是这些消息要被发送到哪里?

  从基于类的设计转变为基于消息的设计,这是你设计生涯中的一个转折点。从基于消息的角度比从基于类的角度更能产生出灵活的应用程序。将那个基本设计问题从『我知道我需要这个类,那该怎么办?』转变为『我需要发送这条消息,谁应该响应它呢?』

  『你发送的消息不是因为你有了对象,你有了对象是因为你要发送消息』

  醍醐灌顶,有没有

  请询问『要什么』,别告知『如何做』

  寻求上下文独立

  对象所期望的上下文会直接影响到重用它的难度。具有简单上下文的对象易于使用,也易于测试,他们对周边的环境期望很少。具有复杂上下文的对象难以使用,也难以测试,在它们能够做任何事情之前,都需要进行复杂的设置

  最好的情况是对象与它们的上下文保持完全独立。如果某个对象在与其他堆叠进行合作时,不知道他们是谁,也不知道它们所做的事情,那么这个对象便可以按各种千奇百怪和完全无法预测的方式重用,依赖注入就是一个可以帮助剥离上下文的技术。

  创建基于消息的程序

  使用时序图来探究设计,定义公共接口,以及发现对象。时序图可以用来做瞬态分析,可以帮助理解过程,有助于我们将焦点集中在消息上,并让我们形成一个合理的意图目的,将注意力从对象转换到消息,可以让我们专注设计一个建立在公共接口上的应用程序。


《面向对象设计实践指南》读书笔记相关热词搜索:对象 笔记 指南

1、【第一篇】:名人传读书笔记名人传》 伟大的心灵犹如崇山峻岭,风雨吹荡它,云翳包围它,但人们在那里呼吸时,比别处更自由更有力。纯洁的 名人传读书笔记(共8篇)(2015-08-31)

2、【第一篇】:《钢铁是怎样炼成的》读书笔记钢铁是怎样炼成的》读书笔记内容简介:《钢铁是怎样炼成的》是前苏联作家奥斯特洛夫斯基根据自己 《钢铁是怎样炼成的》读书笔记(共10篇)(2015-08-31)

3、【第一篇】:小学生读书笔记格式怎么写例姓名:王凯 班级: 2009级1班 时间:2010年9月10日 今天我读了《魔盒 读书笔记怎么写格式(共8篇)(2015-08-31)

4、【第一篇】:《红楼梦》读书笔记[1]《红楼梦》是一部中国末期封建社会的百科全书。小说以讲述上层社会中的四大家族为中心图画,真实、生动 红楼梦读书笔记(共8篇)(2015-08-31)

5、【第一篇】:《钢铁是怎样炼成的》读书笔记钢铁是怎样炼成的》读书笔记内容简介:《钢铁是怎样炼成的》是前苏联作家奥斯特洛夫斯基根据自己 读书笔记钢铁是怎样炼成的(共8篇)(2015-08-31)

6、【第一篇】:《骆驼祥子》1000字读书笔记子曾经是个正直、热爱生活的劳动者。小说一开始,关于他的外貌的描写,关于他拉车的刻画,都写得很 骆驼祥子读书笔记1000字(共8篇)(2015-08-31)

7、【第一篇】:《文化苦旅》读书笔记化苦旅之历史观《文化苦旅》是当代著名散文作家、世界级文化学者余秋雨的文化散文集。全书的主题是凭借山 文化苦旅读书笔记(共8篇)(2015-08-31)

8、【第一篇】:读书笔记大全爱的教育》读书笔记《爱的教育》这本书是一部流传世界各地的著作,它是以一个小孩的日记方式来写的,虽然每篇的篇幅 读书笔记(共7篇)(2015-08-31)

9、【第一篇】:《平凡的世界》读书笔记平凡的世界》读书笔记劳动着是幸福的,无论在哪个时代。《平凡的世界》正白纸黑字的告诉我们这样的人生 平凡的世界读书笔记(共10篇)(2015-08-31)

10、【第一篇】:平凡的世界读书心得平凡的世界》读书心得《平凡的世界》是中国著名作家路遥创作的一部百万字的长篇巨著,这是一部全景式地表现 平凡的世界读书心得(共7篇)(2015-08-31)

11、【第一篇】:骆驼祥子读书笔记骆驼祥子读书笔记:好词:甘居人后、随机应变、与世无争、自有专长、省吃俭用、无中生有、 立竿见影、兵荒马 骆驼祥子的读书笔记(共6篇)(2015-08-31)

12、【第一篇】:小学生读书笔记50字学生读书笔记50字1 读《命运》有感前阵子在书城买了本书,叫《滴水藏海》,里边有300个经典的哲理故事。现 读书笔记50字大全(共8篇)(2015-08-31)

13、【第一篇】:名著读书笔记爱的教育》读书笔记《爱的教育》这本书是一部流传世界各地的著作,它是以一个小孩的日记方式来写的,虽然每篇的篇幅 名著读书笔记(共8篇)(2015-08-31)

14、【第一篇】:钢铁是怎样炼成的读书笔记钢铁是怎样炼成的》读书笔记一当《钢铁是怎样炼成的》这部激动人心的红色经典,在我面前一页页掀开, 钢铁是怎么炼成的读书笔记(共8篇)(2015-08-31)

15、【第一篇】:《呐喊》读书笔记呐喊》读书笔记鲁迅(1881 9 25~1936 10 19),浙江绍兴人,原名周树人,字豫山、豫亭,后改名为豫才。他是 呐喊读书笔记(共9篇)(2015-08-31)

最新推荐成考报名

更多
1、“《面向对象设计实践指南》读书笔记”由中国招生考试网网友提供,版权所有,转载请注明出处。
2、欢迎参与中国招生考试网投稿,获积分奖励,兑换精美礼品。
3、"《面向对象设计实践指南》读书笔记" 地址:http://www.chinazhaokao.com/wendang/dushu/50930.html,复制分享给你身边的朋友!
4、文章来源互联网,如有侵权,请及时联系我们,我们将在24小时内处理!