黑马程序员技术交流社区
标题:
水果超市管理系统
[打印本页]
作者:
意念痴心灬戒贪
时间:
2015-12-22 00:03
标题:
水果超市管理系统
水果超市管理系统
一、项目介绍
1.1 项目安排
1.1.1 项目目标
通过GUI的方式,完成水果超市管理系统管理员部分。通过完成本案例,初步掌握项目分层、方法与类的抽取,同时掌握不同访问权限的使用场景。
1.1.2 项目时间
在原有界面和逻辑的基础上,使用一天完成全部内容。
1.2 项目功能分析
1.2.1 项目演示
1.2.2 项目各模块功能介绍
管理员水果管理模块
添加水果
删除水果
修改水果
查询水果
二 项目功能实现
2.1 知识点补充
2.1.1 包
分包管理是组织软件项目结构的基本方式。我们将同类功能放到一个包中,方便管理。
并且日常项目的分工也是以包作为边界。
包的定义格式
使用公司域名反写
如:传智播客网址itcast.cn那么域名就为cn.itcast
包的访问
同一个包下根据代码编写习惯一般可以直接访问
不同包下的类必须导包后使用,比如以前用到的Scanner
使用Eclipse创建包
当使用Eclipse后,创建包是非常轻松的一件事。直接创建Package即可。
包的本质是文件夹,脱离了类似Eclipse这样的开发工具后,包的创建以及带包的编译运行均是意见麻烦的事情,不再赘述。
2.1.2 项目分层(分包)
一个项目随着功能的增加、继承树的扩展会出现众多的Java类。这时,不仅需要将一个类中的整体功能抽取出成为独立方法,还需要将功能边界即功能所有者界定,而这就是定义类的过程。在定义好不同的类之后,再将相似功能的类放到同一个包中进行统一管理。如我们可以将一个完成项目主要分为如下5个层次:
view层(包):负责页面展示
controller层(包):负责对页面控制(现在可以简单的理解为对监听器功能的处理)
service层(包):负责封装一些完整功能(本案例中仅提供数据访问,无其他功能)
dao层(包):负责对数据进行访问(本例中为最简单的增、删、改、查)
domain层(包):负责存放所有的实体业务模型(比如我们以前定义的水果)
2.1.3 访问权限
在Java中提供了四种访问权限,使用不同的访问权限时,被修饰的内容会有不同的访问权限,以下表来说明不同权限的访问能力:
Public protected default private
同一类中 √ √ √ √
同一包中(子类与无关类) √ √ √
不同包的子类 √ √
不同包中的无关类 √
所以,在日常开发过程中,如果允许其他包的类访问使用public,如果仅允许其他包的子类访问使用protected,仅本包内的类访问使用默认,仅能本类中访问使用private。
2.2 项目环境搭建
2.2.1 技术选型和jar包导入
每个项目都要使用一些已经成熟的技术,它们通常是由一些专业组织或团队所提供的开源免费技术。
在本案例中没有使用到第三方已经封装好的Java类。
2.2.2 工具类介绍
每个项目都会用到一些工具类,本案例也不例外。这里我们完成对一些功能性的工具类封装:
GUITools.java:该类可以把窗口居中显示/为窗体进行部分样式设定
2.2.3 工程创建及包管理
分包管理是组织软件项目结构的基本方式。我们将同类功能放到一个包中,方便管理。
使用eclipse创建Java工程,命名为fruitStore
创建工程包:
cn.itcast. fruitStore.app:存放main方法类;
cn.itcast. fruitStore.tools:存放工具类;
cn.itcast. fruitStore.domain:存放实体类;
cn.itcast. fruitStore.view:存放界面类;
cn.itcast. fruitStore.controller:存放控制层类,本案例中该包下的类都会继承view包下的类;
cn.itcast. fruitStore.service:存放业务层类,本案例中只提供数据服务;
cn.itcast. fruitStore.dao:存放数据操作层类
cn.itcast. fruitStore.test:存放测试类
cn.itcast. fruitStore.data:存放数据
作者:
xiaodongwubukun
时间:
2015-12-22 00:28
注意包名小写...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2