【发布时间】:2011-09-09 18:12:28
【问题描述】:
我正处于 Web 应用程序的设计阶段,该应用程序允许用户创建工作请求,并且工作人员可以将时间用于处理这些请求。该应用程序还将为主管提供报告功能,以获取每日总计、报告并说明所花费的时间,即“成本分配”。
我过去开发的应用程序都是使用逐层封装的方法设计的。我认为按功能设计使用包会更有效,我对此设计有疑问。
我目前按功能考虑的软件包:
- 请求 - CRUD 请求,然后分配,添加发票编号等...
- 工作时间 - 用户针对请求、假期、培训或会议的 CRUD 每日时间
- 成本分配 - 创建报告,会计人员想要的东西......
前端将是 Tomcat 服务器和 JSP。而且,后端将是一个由 EclipseLink 进行持久化的 Oracle 数据库。
我的问题:
在我对逐个功能包的理解中,实体和 DAO 将进入与其关联的包中。将持久层分布在多个包中。离开包来调用其他包中的实体。有了所有的重叠,这真的有用吗?包之间不会有隔离。按功能使用包的优点和缺点是什么?使用额外的持久层会是好的设计吗?或者,我对此的理解完全错误?
【问题讨论】:
标签: java web-applications domain-driven-design packaging