1.认识《领域驱动设计》

    第一,大家应该知道领域驱动的是设计,这是必须的。

    “领域驱动设计”,顾名思义,首先强调的是“领域”。这个词不是指技术上的任何东西,而是指”业务领域“,是说用领域的角度去分析和设计业务。
    可是在现实中我们有多少人又真的懂业务呢,那些低层次的程序员就不用说了,因为他们了解的业务甚至都不是第一手的,都是经过架构师们消化过的。至于那些架构师门了解的业务就是正确的吗,我看不见得。因为就中国的国情而言,尤其对于企业开发而言,处处充满着管理的不规范性,用户说的很多需求就是不规范的。按照这样的用户需求做出的软件只能是个怪胎,满足一时之需,时间一长就不能用了。原因是什么呢,因为用户是会逐步成长和规范的。
    那正确的做法应该是什么呢?答案很简单,向领域专家和专业书籍学习。同时要找出当前用户在业务不足之处在哪里,要在规范和现实之间找到一道桥梁。
    “领域驱动设计“的另一层含义是“驱动设计”。显然,“设计”只是一种手段和工具,是为“领域”服务的。“设计”的过程和质量必须通过“领域模型"来检验和验证,这也是测试驱动的本质。当然,我们要尽可能不要让设计工具本身的缺陷扭曲了“领域”本身,那就本末倒置了。这就是为什么banq要批判“基于关系数据库的业务设计”以及坚持“域模型不要让技术污染了”。
    在生活中也是如此,如果你骑过车或者开过车,你的心中都有一辆你真正属于你的车,至于这个车是不是有轮子什么的都不重要,关键是能让自己舒适地出行。显然“舒适地出行”才是真正的业务领域,而是“轮子之类的”只是设计。
    做企业开发快10个年头了,遇到很多困惑和困扰,在我的心中也渐渐有一个真正的企业模型。对我来说,“领域驱动设计”其实也是一种“设计”。

    第二,大家在自己的项目、练习中实践,这里并不仅仅是开发时的实践。这样,才会对领域驱动有个好的理解。也有针对特定问题的解决方案。

 

posted @ 2011-01-09 15:24  博图轩  阅读(236)  评论(0编辑  收藏  举报