| 作者 |
内容 |
| cranewhite |
[原创]《Applying
UML and Patterns》读后感 第三篇
《Applying UML and Patterns》读后感 第三篇 新鲜出炉!!!!
先总结一下,
写了两篇《Applying UML and Patterns》读后感,贴在www.dlking.com
e-book版和 software Engineering版, 以及www.downsky.net
的e-book版,为了就是和大家交流一下经验,在大家匆忙的当当当的体力活中,能休息一下,动动脑,做点有点深度的脑力体操。
两个论坛,共跟贴42个,虽然和提供书当的贴子美法比, 但是好像反响还不错,讨论的气氛也有了,介绍别的好书的贴子也有了,
更有lot1贡献出自己做过项目的英文经验总结,更让我高兴的时还有人要转贴我的贴子,不错不错。
搬马斑猪和兔子斑竹也大力支持,鼓励我多血多贴,所以马上下手写第三篇!
鲜花少说,进入整体!
————————————————————————————————————
这一次讨论什么屎 OO 中最重要的概念
(这一次已超出了AUP的范围)
我再第一篇中也提到了侯俊杰的 polymorphism 最重要论。
当年刚刚开始接触OO 时,新概念可真多,说大了,Inheritance, encapsulation, polymorphism,
小了说,class, object, attribute, operation, association, delegation,
aggregation..........一大堆,可真头大!!
怎么学?
又是那条真理,提肛携领地学,循序渐进地学!先主要后次要。(在信息爆炸时代,这真是一条永恒真理)
那么OO 中什么屎 最重要的呢?
还好我运气好,有侯Sir 和他的网站给我以引导,让我不用走弯路,直入OO 的殿堂,抓住OO 的本质,那就是polymorphism 最重要论。
所以我对刚刚接触OOD(Object-Oriented Design)并想在这个领域中有所作为的人推荐的学习路线时
c++ or java or c#--->MFC深入浅出---〉应用架构入门与实例--〉AUP-->Design
Patterns--->自己总结出一套OOD技术,终身享用
(*对于《应用架构入门与实例》,我以后会说,第四篇?)
当然这个过程中要进行大量实践
Owning a hammer doesnot mean you are an architect.
好了话说回来,OO就是因为有了polymorphism才和传统开发方法有了不同。
以前用非OO语言做的时候,reuse只能是你开发一个function libarary或toolkits
,然后别人调用你定义的函数界面,有了polymorphism, 你开发出来的是framework, 不光是别人调用你定义的界面,
你的framework还可以反过来call未来调用者的code. 在<<应用架构入门与实例>>中, 这个叫 inversion of
control, 在AUP中,这叫Hollywood Principle--Donot call us, we will call you.
正是有了这个,面向对象才变得多彩起来!
当然polymorphism从广义上还有function overload的polymorphism,既然我们遵循提肛携领原则,这里就不讨论了。
好了,说了半天,也没有AUP的读后感?
别着急呀,这就来了!
这些天通过详看AUP 和粗看 DPE, 又发现了一个有趣的OO Encapsulation 重要论,野蛮有趣的。
其实学OO, 不在乎你记住了多少个概念,而在于你对他核心的理解。polymorphism最终要论学完之后,再看看别人总各个角度对OO
的理解,也可以加深自己对OO 的理解。
以前对Encapsulation 的理解只是他对data 的Encapsulation ,
其实还有
Class Encapsulation(在Interface之后的类)
Implementation Encapsulation (Implementation Operation )
Structure Encapsulation (AUP 的Protected Variations之中为隐藏structure change
而尽量减短traversing 路线讨论,见 P.336)
真是扩展视野,感谢AUP 和DPE ! |
| 02/09/13 13:45 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| koyanma |
不错,支持一下。
最喜欢这句话:
~~有了polymorphism, 你开发出来的是framework, 不光是别人调用你定义的界面,
你的framework还可以反过来call未来调用者的code. 在<<应用架构入门与实例>>中, 这个叫 inversion of
control, 在AUP中,这叫Hollywood Principle--Donot call us, we will call you~~ |
| 02/09/13 17:40 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| softsang |
回复:
[原创]《Applying UML and Patterns》读后感 第三篇
"提肛携领地学"
是不是应该该一下,印象意境。。。 :) |
| 02/09/13 21:43 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
|