论文部分内容阅读
随着计算机技术的飞速发展,各行各业对软件开发的效率、质量以及后期维护都有了更高的要求,然而传统的以数据库为核心的软件开发方法并不能很好地满足这些需求。领域驱动设计(Domain-Driven Design简称DDD)是以敏捷开发为手段、以模型驱动设计为根基、以软件领域为着眼点的一种新兴的软件开发方法,该方法能够更好地满足这些需求。本文首先对领域驱动设计的相关理论进行了研究,包括领域驱动设计的技术背景、技术方法、技术特点、适用场合、迭代周期,然后作者从应用的角度提出了一个领域驱动设计的实施方案,即DDD+SCRUM+XP(Extreme Programming)+CI(Continuous Integration),这种方案可以在保证项目质量的前提下,加快项目进度,大大降低项目风险。紧接着作者分析了SILS物流平台系统中用到的J2EE相关技术,包括Spring、Hibernate、Compass,Ajax。最后通过对上述技术的理论原理以及特点深入分析之后,在该物流平台系统基础上,根据领域驱动设计分层设计的思想,将该系统开发架构分为视图层、控制层、服务层、领域层和基础结构层,对每层的设计进行探讨并和传统的MVC模式进行对比,同时对每一层都给出了详细的实现过程。论文结合SILS物流平台系统的开发,成功封装了一个基于DWR(Direct Web Remoting)和Spring的Ajax验证框架和一个基于Compass的搜索框架,详细阐述了基于J2EE技术体系的系统分层设计与实现过程,并将领域驱动设计这一新兴的软件开发技术融入其中。领域驱动设计实施的关键技术在于依赖注入、面向方面编程以及面向对象编程。依赖注入可以降低J2EE多层应用系统中层与层之间的耦合度,面向方面编程用来处理应用系统中分布在各模块中的横切关注点,将系统核心业务代码与事务、日志等辅助功能代码分离。面向对象编程可以使我们使用Plain Java类和接口来设计领域对象。整个系统层次分明,具有良好的可扩展性、可移植性和可维护性。