基于Struts+Spring+JDBC架构的课程设计实训教学项目《网上银行账户管理系统》 - 构建业务层中的各种VO类

发布时间:2016-12-18 17:38:28

杨教授大学堂精心创作的优秀程序员职业提升必读系列资料基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上银行账户管理系统》——构建业务层中的各种VO类1.1.1系统业务层的设计1、业务层中的一个设计原则 ----“类型(同一规则的事情)”(单一职责)分离业务对象(对业务数据采用业务实体进行封装),封装业务处理与业务规则(设计为业务逻辑类)。2、业务层与数据访问持久层的关系数据访问持久层服务于业务层,业务层内聚(包含)有数据访问的接口(DAO接口)对象;对于数据应该采用VO来封装,而不应该采用PO来代替----数据访问持久层中的PO是为了持久化的目的而设计的,这也是PO唯一的存在价值,PO不属于业务层范畴,不具备反映业务逻辑的职责,它的活动范围被严格限制在数据层之内,换句话说,无论是业务层还是显示层都不能直接引用PO。为了能够实现将VO转换为PO,也可以提供DAO Service组件、并利用Apache BeanUtil 组件实现对象拷贝来达到。本项目将采用该方式来隔离业务处理层和系统中的数据访问层。3、业务层中的可能组件(1)事务功能组件包含事务处理要求的业务逻辑,并定义出接口。当然,也可以将事务处理放到DAO Service组件中。(2)功能操作组件不包含事务的业务逻辑,并定义出接口。(3)业务实体组件包含简单的、操作自身和聚合边界内其它实体的数据访问逻辑(其数据用来表示产品、订单等现实世界中的业务实体)。接口定义不是必须的。4、以业务层为核心设计目标(1)表示层依赖于业务层(2)数据访问持久层服务于业务层将DAO接口放到业务层中,并在数据访问层中实现各个DAO接口。当然,比较好的设计则应该是将DAO接口放到DAO Service组件中。杨教授大学堂,版权所有,盗版必究。1/26页

基于Struts+Spring+JDBC架构的课程设计实训教学项目《网上银行账户管理系统》 - 构建业务层中的各种VO类

相关推荐