上海网站建设 网页制作,新乡 网站开发,wordpress生成微信分享图片,网站建设与维护 实验报告心得最近在做一个项目。采用J2EE作为开发平台#xff0c;通过领域驱动开发#xff08;DDD#xff09;的方式进行开发。首先说一下系统总体架构。系统分为表现层#xff0c;业务层(业务层分为应用层和领域层)#xff0c;持久层#xff0c;其中表现层用Struts MVC框架#xff… 最近在做一个项目。采用J2EE作为开发平台通过领域驱动开发DDD的方式进行开发。 首先说一下系统总体架构。系统分为表现层业务层(业务层分为应用层和领域层)持久层 其中表现层用Struts MVC框架业务层用Spring框架持久层用hibernate框架现在主 要总结一下业务层和持久层。 业务层根据DDD业务层应该分为应用层和领域层其中应用层的无状态的服务通过 Spring IOC容器进行装配和管理。核心业务逻辑放到领域层而应用层只是一个很薄的层 指挥领域层的模型对象完成业务操作。领域模型根据DDD分为了实体值对象和服务其 中实体是系统中一些需要记录和跟踪的对象比如Account对象等值对象则是一些对实体 的描述以及实体的状态等比如项目的站内信中可以将消息的状态做为抽象消息的值对 象。为了提高实体的内聚性将一些不是实体的职责分配给领域层服务对象。当然DDD中还 有关于聚合工厂仓库个人理解工厂主要是用来创建对象的工厂控制了对象生命周期 的开始而对象的生命周期不可能只有开始这么简单所以仓库就发挥了作用仓库就是用 来管理对象的中间状态的。仓库可以通过缓存来管理对象提高系统的性能。至于事务处理 因为项目不需要分布式所以直接采用JDBC事务具体就是通过Spring管理的hibernate 事务来实现将事务边界界定在应用层服务的开始和结束这样也充分发挥Spring的声明式 事务管理功能。 持久层采用hibernate框架来完成。首先定义一个支持CRUD操作的泛型DAO,然后利用 Spring支持回调模板类(HibernateTemplate)来实现最基础的CRUD操作其它的Dao接 口继承泛型接口。这样CRUD操作在统一的基类中完成并且还可以利用泛型带来的安全性 检查。 最后先请教一下各位兄弟我对于应用层服务和领域层服务的划 分不是很清楚请问一下各位具体的划分标准是什么各位在项 目中怎么做的我现在是把应用层服务当做Facade来用用来 封装业务逻辑各位兄弟还有什么好的方法吗请指教一下谢了。 转载于:https://blog.51cto.com/yuquan/360352