基于领域驱动设计的软件开发方法和实例分析
2010-08-07陈亮
铁路计算机应用 2010年9期
陈 亮
(广州铁路(集团)公司科学技术研究所,广州510100)
当今,Web 应用的重要性已经得到了广泛认同,越来越多的应用系统都被构建在Web 之上。基于Web 的多层架构体系(如ASP.NET)已经成为解决企业级应用的主要途径。然而,传统的数据库驱动设计方法(以数据库建模为核心的软件开发方法)在基于Web 多层架构的企业级应用系统开发中存在诸多不足。本文在分析了数据库驱动设计方法存在不足的基础上,引入领域驱动设计(DDD)方法,并研究了这种设计方法在动态表单系统开发中的应用。
1 数据库驱动设计方法存在的问题
1.1 不能有效地反映需求
面向对象的思维方式符合人类的自然思维,因此采用OOA(面向对象分析方法)进行需求分析可以使得软件的需求(问题域)和实现(解决域)在形式上是一致的,很便于理解,因此采用面向对象数据库是首选。然而,对于OODB(面向对象数据库)来说,从技术上还不够成熟,商品化的OODBMS 尚不普及,目前主流的DBMS(Microsoft SQL Server,Oracle,DB2 等)都是关系型的。
传统的以数据库建模为核心的软件开发是基于关系型数据库的。这样必将导致需求分析(问题域)与系统实现(解决域)在形式上不一致,影响设计人员的设计思路,甚至使整个系统的设计偏离用户需求。现代的软件系统构架应该是问题域建模和模式,也就是说,在做系统设计的时候,首先要搞清楚对象:当前的问题是什么?解决这个问题需要什么样的逻辑和业务流程?选择什么样的模式或软件框架才可以解决这样的问题,并使得软件系统具有鲜活的生命力?……
登录APP查看全文
