`
c__06
  • 浏览: 5213 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

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 特殊项目部分就不再例出
分享到:
评论

相关推荐

    Java集合框架结构图.jpg

    Java集合框架结构图

    框架ssm及包

    ssm框架,直接能用

    java实验报告.docx

    实验二 Java 结构化程序设计应用 3 实验三 Java 数组和方法应用 10 实验四 类和对象;类的继承和派生;多态性;接口;构造器应用 16 实验五 Java访问控制管理;封装类;内部类; 内存管理与垃圾收集 8 实验六 Java ...

    Java集合框架使用总结

    在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection Framework)。 Java程序员在...

    java源码包实例源码JAVA开发源码50个合集.zip

    基于BS结构的Java可视化工作流定制软件.rar 基于J2ME的Java游戏梦幻炸弹人源程序.rar 基于JAVA的ICQ系统.rar 基于Java的mp3播放器源代码.rar 基于Java的小型人事管理系统,带数据库.rar 基于JAVA的日程提醒簿.rar ...

    java开源包4

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java源码包---java 源码 大量 实例

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java开源包8

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java源码包4

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java源码包3

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    基于Java的JFinal极速WEB+ORM框架设计源码

    JFinal是一个轻量级的Java框架,它提供了一种高效、简洁的方式来开发Web应用程序。它集成了ORM(对象关系映射)功能,简化了数据库操作,同时支持Restful风格的API设计。项目结构清晰,代码注释详尽,适合用于学习和...

    java开源包6

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包11

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包9

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java源码包2

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java开源包5

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包101

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包10

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    【Java语言程序设计教程】Java课程设计-教学大纲.docx

    完成系统分析与系统设计—--设计合理的数据结构和系统框架,完成设计的结构图。 软件要打包发布,软件的代码要规范、有详细的注释,能正确运行,上交所有代码的电子版。 学生填写Java语言课程设计报告单,每人一份...

    java源码包实例源码JAVA开发源码55个合集.zip

    java源码包J实例源码JAVA开发源码55个合集: Java中的Blowfish对称密钥加密算法类和实例.rar Java中的EJB编程实例代码.rar Java中的SSL及HTTPS协议实例源码.rar Java写的ATM机取款模拟程序.zip Java写的一个mp3播放器...

Global site tag (gtag.js) - Google Analytics