Java企业应用的包结构设计与实现
1. 包结构的实现思路
在确定合适的基础Java包后,如何实现内部包结构,即选择哪些子包呢?我们可以从模块内容入手。
1.1 模块内容分析
垂直切片的模块内容通常围绕业务需求构建,包含实现特定功能所需的一切。具体如下:
- 技术入口点 :如HTTP端点、表示层框架控制器或JMS端点。这些类和方法利用Java EE的控制反转等原则,当有通信请求到达应用程序时,由容器调用。
- 用例启动功能 :与技术端点不同,它们不包含通信逻辑,是领域逻辑的入口点,通常实现为托管Bean,如无状态会话Bean(EJB)或CDI托管Bean。
- 业务逻辑实现 :用例边界启动并实现业务逻辑。简单用例的逻辑可直接包含在边界类的业务方法或私有方法中;复杂用例则将逻辑委托给相应的服务,这些委托类包括服务、事务脚本、工厂和存储库等。
- 模型类 :如实体、值对象和传输对象,它们代表领域中的实体,也应实现业务逻辑,例如数据库管理的实体Bean、其他POJO和枚举。
- 横切关注点 :某些包可能包含具有业务或技术职责的拦截器等横切关注点。
1.2 包结构组织方式
1.2.1 水平包分层
按技术分层设计内部包结构,先按业务关注点划分,再按技术关注点划分。以 users 包为例,可能包含 controller 、 <
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



