[发明专利]一种领域驱动开发插件系统有效
申请号: | 201210428875.2 | 申请日: | 2012-10-25 |
公开(公告)号: | CN102981823A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 黄强;穆炯;李军;蔡英 | 申请(专利权)人: | 四川农业大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 611130 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 领域 驱动 开发 插件 系统 | ||
技术领域
本发明属于分布式网络系统开发领域,尤其涉及一种领域驱动开发插件系统。
背景技术
作为系统数据存储和分析的核心,数据库在信息系统中起着重要作用,目前的企业级应用平台开发和设计必须依赖于关系数据库,数据库在发挥巨大作用的同时,其模式结构也与主流的面向对象系统分析理论产生了较大的缝隙,随着系统规模不断增大,基于过程和事务脚本的系统分析方法已经不能满足业务需求。
基于OO技术构建的领域建模理论,为大规模业务系统分析提供了有力的理论指导,随着这方面理论不断地成熟,已经逐渐应用到各个领域的系统分析和构架中。领域建模(Domain Modeling-DM)的初期是基于对象关系映射的ORM(Object Relationship Mapping)技术,ORM通过数据库与对象的数据映射,解决了关系与对象的不匹配问题,让系统设计分析人员能够用纯粹的对象技术来解决领域问题。但是随着业务分析的深入,ORM产生的贫血对象模型由于行为能力的缺失,让系统又从对象模型退化为事务处理过程,与DM理论逐渐背离。随后为了避免贫血模型的弊端而出现的充血模型,将业务与数据全部合并到领域模型中,有很多框架都是在充血模型的理论基础上进行了大量实践(如ROR,Grails,Spring Roo等),这些快速开发框架在小型项目上应用非常成功,因为其模板式的开发方式,强大的动态方法生成,以及快速脚手架(Scaffolding)等特性,让充血领域模型有了强大的功能。但是随着业务增长,领域对象急速膨胀,维护难度也在增加,使系统处于一个不可控的状态,并且业务和数据的领域整合使系统的结构变得模糊不清,所以这类框架始终没有成功的应用到大型项目开发中。
一种基于四色原型的领域开发模型Evans DDD,强调领域设计必须以业务为指导,Evans DDD不但弥补了ORM的对象行为缺失和生命周期问题,也通过领域聚合和分解有效地解决了充血模型随着领域的扩大而臃肿的缺陷,为大型系统设计和开发提供了一个合理的解决途径。由于Evans DDD的设计理念比较灵活,系统开发和设计人员对该理论进行了很多的实践并取得了较多成果,但是始终没有一个统一的底层技术构架来支持该模型。这不但给该理论的推广造成了极大的障碍,没有统一的构架支持,系统开发人员也很难将系统分析转换为编码,大大降低了系统的实施效率。同时现有的框架体系基本是以数据库为核心的分层结构,也为DDD的实践造成了很大的障碍,一些全新的框架由于不能很好的兼容以前的遗留系统,也很难得到推广。
DDD是完全基于内存的业务对象建模(In-Memory)方法,但是在项目实施过程中,目前的开发框架均依赖于关系数据库系统,ORM虽然在数据库与业务系统之间进行了桥接,但只支持贫血模型且对象生命周期无法DDD匹配,造成系统实施过程与设计不相符。现有的DDD框架不能完全覆盖系统业务,也不成熟稳定,无法应用于实际项目的开发。
发明内容
本发明实施例提供一种领域驱动开发插件系统,旨在解决现有技术中JavaEE的分层构架出现领域失配、性能低下及DDD理论与实践不兼容的问题。
本发明实施例是这样实现的,一种领域驱动开发插件系统,所述系统包括:
命令查询分离体系设计单元,用于分离领域模型中的业务过程与数据查询;
领域缓存单元,用于领域对象的分布式内存缓存,实现领域的In-memory模型;
消息代理单元,用于使领域与外界通信,并支持本地消息,以及分布式消息;以及
消息模型设计单元,用于通过领域消息实现领域组件的信息交互,采用并发的事件驱动模式及AOP编程模型。
本发明实施例根据DDD理论及Spring框架,实现了一个基于领域消息驱动和内存建模的DDD插件Takia,使项目实施完全兼容DDD设计,同时基于消息的通信机制能有效的解耦系统模块,提高系统并发性能,在项目实施中更加合理高效。
附图说明
图1是本发明实施例提供的领域驱动开发插件系统的结构图;
图2是本发明实施例提供的Takia DDD整体构架模型的结构图;
图3是本发明实施例提供的可伸缩构架的变迁趋势图;
图4是本发明实施例提供的卫星结构模型的结构图;
图5是本发明实施例提供的Takia DDD编程模型的流程图;
图6是本发明实施例提供的命令查询分离体系设计单元的结构图;
图7是本发明实施例提供的模型创建流程设计模块的实现流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川农业大学,未经四川农业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210428875.2/2.html,转载请声明来源钻瓜专利网。