|
  
- UID
- 236
- 帖子
- 323
- 精华
- 13
- 积分
- 870
- 开源分
- 870
- 阅读权限
- 100
- 注册时间
- 2008-9-30
- 最后登录
- 2010-9-9
|
楼主
发表于 2009-11-25 11:29
| 只看该作者
领域驱动设计导学(1)-写在前面
最近一段时间,我一直在研究领域驱动设计相关的思想。领域驱动设计,将软件设计和架构的关注点从软件的层面移到了领域的层面,原因很简单:软件是为了解决现实世界的各种问题的,而软件的真正核心就是在于如何使用合理有效的方法去解决这些问题。
从目前国内的情况来看,很多软件从业人员无法正视软件设计与开发,以以前的Borland Delphi和如今的Microsoft VisualStudio为代表的众多可视化“傻瓜型”开发工具让大部分即将进入软件行业或者已经进入软件行业的人士认为,软件设计与开发是一件很简单的事情,通过数据库设计、控件拖拽以及由Code Insight功能支持的代码编辑,就可以很轻松地完成一个软件产品的开发。Microsoft VisualStudio提供如此易用性的目的,并非是让人觉得软件设计与开发是一门简单的事情,而是希望让软件人员的目光更多地投向系统分析与软件构架上,这一点在我的“漫谈Microsoft .NETFramework”一文中已经说过。或许,开发一些小规模软件或者小的应用程序还可以应付,但这种做法无法应对庞大的领域相关的软件系统开发,更加无法应对突如其来的软件需求变更。
EricEvans告诉我们,软件系统的复杂性来源于其所应对的领域,领域知识的抽象和建模是构建复杂软件系统的基本步骤。这一点与国内目前许多“面向数据库建模的设计方法”显得格格不入。我并不是在这里来论证两种做法的谁是谁非,但事实表明,“面向数据库建模的设计方法”隐藏了面向对象分析与设计的许多细节,从思想上来讲,就显得不大合理了。
或者说的严重一点,中国的软件开发思想需要一场革命,而领域驱动设计(DDD)和面向服务架构(SOA)就是这次革命的生力军,这次轰轰烈烈的革命,需要千千万万的软件从业人员从传统的“设计思想”、“边做边改开发模型”中解脱出来,并重新认识面向对象思想在软件设计与架构中的核心作用。并不是使用了.Net或者Java,设计就是面向对象了,面向对象设计是立于语言之上的思想层面,跟是否使用.Net或者Java无关。革命的道路很漫长,但我们不得不去经历,不去体会,否则,我们将越走越远,最后完全背离了软件设计的正道。
总之,我们应该正视软件设计与开发,它并非我们想象的那么简单。我也由衷地希望我们能够正确地对待目前国内的软件开发形式,通过大家的共同努力,让中国的软件设计与开发走出“怪圈”,找到一条真正的解决之道。
来源:http://blog.csai.cn/user1/16236/archives/2007/13745.html |
|
获得人生中的成功需要的专注与坚持不懈多过天才与机会。 ——C.W. Wendte |
|