科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件面向对象之分析模式

面向对象之分析模式

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

重读《分析模式》,反思面向对象在分析层面和实现层面的区别

作者:Anders小明 来源:CSDN 2008年5月30日

关键字: 对象 面向 python 软件

  • 评论
  • 分享微博
  • 分享邮件
面向对象,嗯,是个老话题了。
书店了关于面向对象对象的多不盛数,面向对象的框架一个又一个,更有大名鼑鼑的设计模式。。。
在看了无数本这样的书,并学习了无数的框架,同时在工作中广泛应用了的设计模式及其变种;
熟练的使用分层框架,而不是一个jsp包打天下;
熟练的使用抽象和多态,而不是难看的if...else;
小心翼翼的贯彻各个面向对象的原则,并写着大量的unittest,
开始沾沾自喜的也以为自己真的懂了面向对象。

但是,(如果没有但是。。。)随着工作越久发现自己的认识其实很浅。
自己所接触到,或者说是自己所体会,思考,以及应用的其实只是面向对象的实现技术部分,
而面向对象分析技术部分才刚刚开始学习。

Booch在其《面向对象分析与设计》一书中分为面向对象编程,面向对象分析,面向对象设计。
不过事实上,正如马丁同学所说的,关于分析和设计的界限很模糊,我愿意按自己的分类的理解:
1. 实现技术,即面向对象设计,其代表就是《设计模式》,以及《企业应用架构模式》。
至于面向对象编程只是面向对象实现的支撑——因为一个具体的语言提供能力会导致同一个设计有着不同表现,如同样的设计模式用java,c++和c#, 甚至smalltalk,python等动态语言下的实现可能不一样。关于语言,在javaeye上有过热烈讨论http://forum.javaeye.com/viewtopic.php?t=17677

2. 分析技术,即面向对象分析,其代表就是《分析模式》(感谢马丁同学的劳动)。
目前的资料和讨论,相对于实现技术来说太少了。即便如此,现有的一些资料也不是很容易理解,如《分析模式》我第一次阅读是在2003年夏天,受限于经验,只理解了chapter2,而其它的分析模式章节几乎是似是而非。在这2006年的春夏之交当我重新翻开《分析模式》,有了更多的体会。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章