`
isiqi
  • 浏览: 16078964 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Java项目中的分包

 
阅读更多

在进行Java项目设计与开发的过程中,为了方便项目的组织与管理、避免命名的冲突,分包是非常有必要的,也是行之有效的解决方法。

在一个实际的项目中,如何进行包的划分呢?我们通常采用如下规则:项目所属组织名(公司或单位的网址域名)的逆序形式+项目名+模块名。对于不同的模块,采用分层的思想进一步分包,第一层按照三层架构(数据层、逻辑层、表示层)划分,接下来针对不同的架构层采用层内去划分。

为了理解与应用这些规则,让我们来看一个项目。项目简洁描述:深圳大学(www.szu.edu.cn)需要利用Java开发一个简单的图书进销存管理系统。通过需求分析后,该系统包括5个模块,分别是用户管理(user)、图书管理(book)、进货管理(in)、销售管理(out)和库存管理(stock)。根据分包规则,划分:cn.edu.szu.jxc.user;cn.edu.szu.jxc.book;cn.edu.szu.jxc.in;cn.edu.szu.jxc.out;cn.edu.szu.jxc.stock。对于不同的模块,我们利用分层的思想分包,现已用户管理模块为例,其它模块类似。第一层遵循三层架构,分别表示为dao(数据接入对象)、bussiness、ui(用户界面),为了方便数据的封装与交换,采用值对象设计模式,该层还设有vo。那么该模块此时的包结构分别表示如下:cn.edu.szu.jxc.user.dao;cn.edu.szu.jxc.user.bussiness;cn.edu.szu.jxc.user.ui;cn.edu.szu.jxn.user.vo。对于数据层和逻辑层,在充分考虑面向接口编程的原则下,划分为ado、impl、factory,而逻辑层可以进一步划分为ebo、ebi、factory。以上是该项目的分包策略,为了更加有效快捷地分包,可以先根据上述明细分包规则构造一个样本(sample)模块,再利用sample模产生具体的模块(复制后修改模块名即可)。

总之,Java项目中的分包对于项目的组织、管理、架构和开发都是大有好处的,也让整个项目富有条理、清晰易读、便于维护、易于扩展。
分享到:
评论

相关推荐

    北大青鸟java1单元分包项目

    北大青鸟java一单元项目,分两个工程完成,客户端与服务端

    netty-server中采用的分包拆包源码,java开发用于实战项目

    @Component public class RabbitmqConfig { private final static String message = "web.socket.message";...完整代码,下载有详细说明,使用于长报文通讯,将报文长度截取一定字节发送,便于网速传输中丢包

    java基础项目shop

    java基础入门的东西,一点简单的实现。 1.商店中,进货(列出能够进货的食品,选择进货的食品,确定进货的数量),进货结束后,列出进货的食品清单 2.商店中,顾客来购买食品(列出能够购买的食品,顾客选择购买的...

    JAVA 五年的工作经验和学习笔记

    本文档是本人5年JAVA经验整理的文档(持续性的),由于CSDN只能单个附件只能上传15MB,所以只好分包压缩了(4个包),希望各位同行能够理解。 本文档包括JAVA/FLEX/数据建模/Database/移动办公/项目管理/单点登录/...

    Java视频教程 Java游戏服务器端开发 Netty NIO AIO Mina视频教程

    11.第十一课粘包分包分析,如何避免socket攻击 12.分析设计一个聊天室的小项目 二、java NIO,AIO编程视频教程 1、java NIO,AIO编程_01.flv 2、java NIO,AIO编程_02.flv 3、java NIO,AIO编程_03.flv 4、java NIO...

    MyEclipse8.5项目开发详细骤刘明

    Doc文档,通过图文一步一步详细介绍了如何通过MyEclise8.5开发Struts2+Hibernate3+Spring2.5的开发过程,最后形成一个可运行的小...还有一个Doc文档通过图文一步一步详细介绍了如何用MyEclipse8.5开发一般的Java项目。

    基于Java多线程与线程安安全实践-基于Http协议的断点续传的毕业设计,通过分析用户的网络环境和网络状况,确定合适的分包大小

    本设计主要针对大型文件进行断点续传,通过分析用户的网络环境和网络状况,确定合适的分包大小,将大文件拆分为多个分包,每个分包包含包头和实际数据,包头中包含分包序号、分包大小和包尾CRC校验码。用户可以根据自己的...

    J2EE开发全程实录(JAVA项目开发)

    2.2.4 Java中的Map接口... 20 2.3 HashMap. 21 2.3.1 应用举例... 21 2.3.2 Map与HashCode. 26 2.4 使用缓存... 29 2.4.1 缓存的概念... 29 2.4.2 LRUMap类... 30 第3章 AOP. 33 3.1 AOP概论... 33 3.2 AspectJ. 35 ...

    ble_demo.rar

    Android项目,低功耗蓝牙4.2,坑已趟过。搜索蓝牙,连接蓝牙,发送数据,获取数据,获取所有uuid,超过20字节分段发送。请笑纳。

    Java Socket 编程模拟Ftp

    1、本项目是使用Java socket 编程来模拟Ftp,严格按照M-V-C架构分包分类,并实现Swing界面,Ftp使用TCP端口21传输控制信息,使用TCP端口20来传输文件数据。 2、本项目默认使用TCP端口4321来传输控制信息,使用TCP...

    Java师生管理系统项目源码

    没有用到多复杂的技术,主要利用了分包思想和分类思想,涉及到知识点是Java基础语法、对象数组、static关键字、封装等等。没有涉及到继承和多态。在之后学习到继承和多态之后会利用相关知识优化代码。 但是这个项目...

    socket 编程来模拟Ftp

    1、本项目是使用Java socket 编程来模拟Ftp,严格按照M-V-C架构分包分类,Ftp使用TCP端口21传输控制信息,使用TCP端口20来传输文件数据。 2、本项目默认使用TCP端口4321来传输控制信息,使用TCP端口5432来传输文件...

    java springboot快速开发权限框架

    5、使用分包分层设计,工程拆分,分为dao,service,Controller,view层,层次清楚,低耦合,高内聚。 6、支持分布式部署,session集成了redis 7、灵活的权限控制, 整合shiro,可控制到页面或按钮,满足绝大部分的...

    北大青鸟java学士后第三单元OA项目

    已通过北大青鸟考核,整个项目代码非常的简单明了,例如ajax使用的是原生的!...有个小小的缺点,分包时没有写service层,由于项目业务较少,也较简单,我将service层的方法全部写入action内实现!

    struts2框架学习项目,根据各个知识点分包分类实例

    struts2框架教学项目,针对每个知识点都有一个对应的实例,内嵌学习笔记。想学习的同学绝对适合,本人亲自教学实例。

    05、JAVA【Android开发】系统功能精讲视频.part2

    本教程是本人在学习JAVA【Android开发】时候珍藏的视频,视频讲的很细,对学习Android开发大有助益 本套教程从php基础语法开始,一直讲解到实战开发项目。 本教程一共有十个部分,因为大小的关系,无法一起上传,...

    05、JAVA【Android开发】系统功能精讲视频.part1

    本教程是本人在学习JAVA【Android开发】时候珍藏的视频,视频讲的很细,对学习Android开发大有助益 本套教程从php基础语法开始,一直讲解到实战开发项目。 本教程一共有十个部分,因为大小的关系,无法一起上传,...

    09、JAVA【Android开发】Android 测试精讲视频

    本教程是本人在学习JAVA【Android开发】时候珍藏的视频,视频讲的很细,对学习Android开发大有助益 本套教程从php基础语法开始,一直讲解到实战开发项目。 本教程一共有十个部分,因为大小的关系,无法一起上传,...

    08、JAVA【Android开发】混合编程精讲视频

    本教程是本人在学习JAVA【Android开发】时候珍藏的视频,视频讲的很细,对学习Android开发大有助益 本套教程从php基础语法开始,一直讲解到实战开发项目。 本教程一共有十个部分,因为大小的关系,无法一起上传,...

Global site tag (gtag.js) - Google Analytics