java框架包结构设计

原则: 
有四个原则知道包的构成: 
1. 包内高内聚。但在某些分布式环境下可能打破这种原则。 
2. 隐藏细节,特别是实现的细节。 
3. 面向问题域(即面向业务),使用该领域的一般概念组织包结构,而不是使概念支离破碎 
4. 一个包内的类可以被共同重用。 

同样有四条指导包间的关系: 
5. 包间低耦合 
6. 无循环依赖(ADP)。 
7. 稳定依赖(SDP),尽量依赖稳定的包(意味着难以改变). 
8. 抽象依赖(SAP),稳定的包要用抽象的层(or接口)隔离. 

============================================================= 
系统框架结构: 
com.willfar 代表公司,或者开源组织这样你的包永不会与别人重复。 
名称也以自己定。 

dao接口层 
com.willfar.dao 
实现层(一个接口可以N种实现,随意使用,想用那种用那种) 
com.willfar.dao.jdbc 
com.willfar.dao.hibernate 
com.willfar.dao.ibatis 
com.willfar.dao.ole 
...... 

service接口层 
com.willfar.service 
//pojo一般用做混合实现(混有jdbc,ibatis等) 
com.willfar.service.pojo 
com.willfar.service.jdbc 
com.willfar.service.hibernate 
com.willfar.service.ibatis 
...... 

business接口层 
com.willfar.business 
...... 

entity层 
com.willfar.entity 
com.willfar.dto 
//系统初始化操作 
com.willfar.init 
//系统定时启动的服务 
com.willfar.job 
com.willfar.util 
com.willfar.webservice 

//常量 
com.willfar.constant 
//系统启动后配置变量 
com.willfar.env 
//Global所有系统中服务的目录 
com.willfar.env.Global 

//系统核心运算引擎,包括计算机,数学,规约,物理,度量衡等等处理数据的核心算法 
com.willfar.engine 
com.willfar.engine.computer 
com.willfar.engine.math 
com.willfar.engine.metrology 
com.willfar.engine.physics 
com.willfar.engine.protocol 
注:以上基本是抽象类与接口来做,当然有些是class 


=================================================== 
具体项目包结构: 
具体项目系统则有所不同,根据8个原则来说应当如下设计: 

com.willfar 代表公司,或者开源组织这样你的包永不会与别人重复。 
名称你也以自己定。 
com.willfar.commons 代表产品通用功能 
com.willfar.xxxxxxx 代表产品中特殊项目专用 
com.willfar.commons.user 代表产品中用户模块通用部分内容 
com.willfar.xxxxxxx.user 代表产品中特殊项目专用用户模块内容部分 


dao接口层 
com.willfar.commons.user.dao 
实现层(一个接口可以N种实现,随意使用,想用那种用那种) 
com.willfar.commons.user.dao.jdbc 
com.willfar.commons.user.dao.hibernate 
com.willfar.commons.user.dao.ibatis 
com.willfar.commons.user.dao.ole 
...... 

service接口层 
com.willfar.commons.user.service 
//pojo一般用做混合实现(混有jdbc,ibatis等) 
com.willfar.commons.user.service.pojo 
com.willfar.commons.user.service.jdbc 
com.willfar.commons.user.service.hibernate 
com.willfar.commons.user.service.ibatis 
...... 

business层 
com.willfar.commons.business.user 

entity层 
com.willfar.commons.user.entity 
com.willfar.commons.user.dto 
//系统初始化操作 
com.willfar.commons.init 
//系统定时启动的服务 
com.willfar.commons.job 
com.willfar.commons.util 
com.willfar.commons.user.webservice 

//常量 
com.willfar.commons.constant 
//系统启动后配置变量 
com.willfar.commons.env 
//Global所有系统中服务的目录 
com.willfar.commons.env.Global 

//系统核心运算引擎,包括计算机,数学,规约,物理,度量衡等等处理数据的核心算法 
com.willfar.commons.engine 
com.willfar.commons.engine.computer 
com.willfar.commons.engine.math 
com.willfar.commons.engine.metrology 
com.willfar.commons.engine.physics 
com.willfar.commons.engine.protocol 

注: com.willfar.xxxxxxx 特殊项目部分就不再例出

猜你喜欢

转载自blog.csdn.net/jackson_0606/article/details/8246049
今日推荐