A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 意念痴心灬戒贪 中级黑马   /  2015-12-22 00:03  /  8003 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

水果超市管理系统
一、项目介绍
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:存放数据

1 个回复

倒序浏览
注意包名小写...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马