Folder List Start -----------------------
```
studentInfoMS-main
| StudentInfoMS
| | out
| | | production
| | | | StudentInfoMS
| | | | | bean
| | | | | | Admin.class
| | | | | | Student.class
| | | | | com
| | | | | | intellij
| | | | | | | uiDesigner
| | | | | | | | core
| | | | | | | | | AbstractLayout.class
| | | | | | | | | DimensionInfo.class
| | | | | | | | | GridConstraints.class
| | | | | | | | | GridLayoutManager.class
| | | | | | | | | HorizontalInfo.class
| | | | | | | | | LayoutState.class
| | | | | | | | | Spacer.class
| | | | | | | | | SupportCode$TextWithMnemonic.class
| | | | | | | | | SupportCode.class
| | | | | | | | | Util.class
| | | | | | | | | VerticalInfo.class
| | | | | dao
| | | | | | adminDao.class
| | | | | | impl
| | | | | | | adminDaoImpl.class
| | | | | | | studentDaoImpl.class
| | | | | | studentDao.class
| | | | | Main$1.class
| | | | | Main.class
| | | | | Observer
| | | | | | ConsoleObserver.class
| | | | | | MySubject.class
| | | | | | Observer.class
| | | | | | Subject.class
| | | | | ui
| | | | | | changePanel$1.class
| | | | | | changePanel.class
| | | | | | deletePanel$1.class
| | | | | | deletePanel.class
| | | | | | Dialog$1.class
| | | | | | Dialog$2.class
| | | | | | Dialog$3.class
| | | | | | Dialog$4.class
| | | | | | Dialog.class
| | | | | | factory
| | | | | | | UIFactory.class
| | | | | | | UIFrame.class
| | | | | | insertPanel$1.class
| | | | | | insertPanel.class
| | | | | | login$1.class
| | | | | | login$2.class
| | | | | | login.class
| | | | | | mainPanel$1.class
| | | | | | mainPanel$2.class
| | | | | | mainPanel$3.class
| | | | | | mainPanel$4.class
| | | | | | mainPanel.class
| | | | | | picture
| | | | | | | hello.psd
| | | | | | searchPanel$1.class
| | | | | | searchPanel.class
| | | | | | signIn$1.class
| | | | | | signIn$2.class
| | | | | | signIn.class
| | | | | util
| | | | | | DatabaseBean.class
| | src
| | | bean
| | | | Admin.java
| | | | Student.java
| | | dao
| | | | adminDao.java
| | | | impl
| | | | | adminDaoImpl.java
| | | | | studentDaoImpl.java
| | | | studentDao.java
| | | Main.java
| | | Observer
| | | | ConsoleObserver.java
| | | | MySubject.java
| | | | Observer.java
| | | | Subject.java
| | | ui
| | | | changePanel.form
| | | | changePanel.java
| | | | deletePanel.form
| | | | deletePanel.java
| | | | Dialog.form
| | | | Dialog.java
| | | | factory
| | | | | UIFactory.java
| | | | | UIFrame.java
| | | | insertPanel.form
| | | | insertPanel.java
| | | | login.form
| | | | login.java
| | | | mainPanel.form
| | | | mainPanel.java
| | | | picture
| | | | | hello.psd
| | | | searchPanel.form
| | | | searchPanel.java
| | | | signIn.form
| | | | signIn.java
| | | util
| | | | DatabaseBean.java
```
Folder List End -----------------------
### 简介
为了完成关于设计模式(Design Patterns)的课程项目,我开发了一个基础的学生信息管理系统(Student Information Management System)。根据课程要求,我在设计中采用了三种设计模式:单例模式(Singleton Pattern)、观察者模式(Observer Pattern)和工厂模式(Factory Pattern)。数据库方面,我选择了MySQL 5.5.40作为数据存储后端。整个系统使用Java编程语言实现,图形用户界面(GUI)部分则采用了Swing框架。
* **单例模式**:确保全局只有一个类实例存在,避免了重复创建对象带来的资源浪费,常用于管理全局状态,如数据库连接池、配置管理等(仅在被观察者和注册面板中使用)。
* **观察者模式**:允许对象(被观察者)维护一组依赖于它的对象(观察者),当被观察者的状态发生变化时,所有依赖它的对象都会收到通知并自动更新。在学生信息管理系统中,这可以用于实现如当某个学生的信息更新时,所有关注该学生的界面或功能都能实时反映这种变化(可以打印到控制台,并且保存log)。
* **工厂模式**:通过专门的类来创建其他类的实例,而不需要暴露具体的类构造和实现逻辑。在学生信息管理系统中,工厂模式可以用于创建对象,提高了代码的灵活性和可扩展性(本系统只通过反射用来生产不同功能的面板)。
### 数据库创建
```sql
CREATE TABLE admin (
id VARCHAR(255) NOT NULL,
pwd VARCHAR(255),
name VARCHAR(255),
PRIMARY KEY (id(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE student (
id VARCHAR(255) NOT NULL,
name VARCHAR(255),
age VARCHAR(255),
sex VARCHAR(255),
major VARCHAR(255),
PRIMARY KEY (id(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
通过使用这些设计模式,我能够构建一个结构清晰、易于维护和扩展的学生信息管理系统。同时,利用MySQL数据库和Swing框架,系统还具备了良好的数据存储和用户交互能力。
没有合适的资源?快使用搜索试试~ 我知道了~
通过swing,并利用单例模式,观察者模式以工厂模式完成的简单学生信息管理系统,设计模式课设
共88个文件
class:50个
java:22个
form:8个
1 下载量 167 浏览量
2024-04-08
07:41:27
上传
评论 1
收藏 239KB ZIP 举报
温馨提示
通过swing,并利用单例模式,观察者模式以工厂模式完成的简单学生信息管理系统,设计模式课设
资源推荐
资源详情
资源评论
收起资源包目录
studentInfoMS.zip (88个子文件)
studentInfoMS-main\StudentInfoMS\src\util\DatabaseBean.java 807B
studentInfoMS-main\StudentInfoMS\src\dao\studentDao.java 306B
studentInfoMS-main\LICENSE 1KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\Main$1.class 497B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\deletePanel.class 2KB
studentInfoMS-main\StudentInfoMS\src\dao\impl\adminDaoImpl.java 2KB
studentInfoMS-main\StudentInfoMS\src\ui\Dialog.java 3KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\picture\hello.jpg 24KB
studentInfoMS-main\StudentInfoMS\src\ui\insertPanel.form 600B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\factory\UIFrame.class 304B
studentInfoMS-main\StudentInfoMS\src\Observer\MySubject.java 837B
studentInfoMS-main\StudentInfoMS\src\ui\factory\UIFrame.java 171B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\dao\adminDao.class 323B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\mainPanel$3.class 942B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\com\intellij\uiDesigner\core\VerticalInfo.class 2KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\deletePanel$1.class 1KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\signIn$2.class 2KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\com\intellij\uiDesigner\core\GridLayoutManager.class 19KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\Dialog$4.class 684B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\mainPanel$2.class 942B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\Dialog.class 4KB
studentInfoMS-main\StudentInfoMS\src\Observer\ConsoleObserver.java 2KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\com\intellij\uiDesigner\core\GridConstraints.class 8KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\insertPanel$1.class 2KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\login$2.class 2KB
studentInfoMS-main\StudentInfoMS\src\Main.java 2KB
studentInfoMS-main\StudentInfoMS\src\ui\picture\hello.psd 116KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\dao\impl\studentDaoImpl.class 4KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\login$1.class 684B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\picture\hello.psd 116KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\Dialog$2.class 684B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\factory\UIFactory.class 958B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\dao\impl\adminDaoImpl.class 2KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\com\intellij\uiDesigner\core\HorizontalInfo.class 2KB
studentInfoMS-main\StudentInfoMS\src\ui\signIn.java 4KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\changePanel.class 2KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\signIn$1.class 645B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\mainPanel.class 3KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\Main.class 1KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\login.class 3KB
studentInfoMS-main\StudentInfoMS\src\bean\Student.java 2KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\Dialog$1.class 680B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\dao\studentDao.class 331B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\Observer\ConsoleObserver.class 705B
studentInfoMS-main\StudentInfoMS\src\ui\login.form 394B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\insertPanel.class 2KB
studentInfoMS-main\StudentInfoMS\src\dao\adminDao.java 299B
studentInfoMS-main\StudentInfoMS\src\ui\searchPanel.form 600B
studentInfoMS-main\StudentInfoMS\src\ui\mainPanel.java 3KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\com\intellij\uiDesigner\core\DimensionInfo.class 7KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\Observer\MySubject.class 1KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\com\intellij\uiDesigner\core\AbstractLayout.class 5KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\bean\Admin.class 1KB
studentInfoMS-main\StudentInfoMS\src\ui\signIn.form 595B
studentInfoMS-main\StudentInfoMS\src\ui\mainPanel.form 397B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\com\intellij\uiDesigner\core\SupportCode$TextWithMnemonic.class 2KB
studentInfoMS-main\StudentInfoMS\src\bean\Admin.java 844B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\Observer\Subject.class 231B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\searchPanel.class 2KB
studentInfoMS-main\StudentInfoMS\src\ui\changePanel.form 600B
studentInfoMS-main\StudentInfoMS\src\ui\login.java 3KB
studentInfoMS-main\StudentInfoMS\src\Observer\Observer.java 87B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\Dialog$3.class 657B
studentInfoMS-main\StudentInfoMS\src\ui\deletePanel.java 2KB
studentInfoMS-main\StudentInfoMS\src\ui\insertPanel.java 3KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\com\intellij\uiDesigner\core\Spacer.class 547B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\mainPanel$4.class 942B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\bean\Student.class 3KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\com\intellij\uiDesigner\core\SupportCode.class 2KB
studentInfoMS-main\StudentInfoMS\src\ui\deletePanel.form 600B
studentInfoMS-main\README.md 6KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\Observer\Observer.class 147B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\util\DatabaseBean.class 2KB
studentInfoMS-main\StudentInfoMS\src\ui\factory\UIFactory.java 338B
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\com\intellij\uiDesigner\core\Util.class 4KB
studentInfoMS-main\StudentInfoMS\src\dao\impl\studentDaoImpl.java 4KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\changePanel$1.class 2KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\mainPanel$1.class 942B
README.md 6KB
studentInfoMS-main\StudentInfoMS\src\ui\picture\hello.jpg 24KB
studentInfoMS-main\StudentInfoMS\src\ui\changePanel.java 3KB
studentInfoMS-main\StudentInfoMS\StudentInfoMS.iml 714B
studentInfoMS-main\StudentInfoMS\src\ui\Dialog.form 4KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\signIn.class 3KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\com\intellij\uiDesigner\core\LayoutState.class 2KB
studentInfoMS-main\StudentInfoMS\src\Observer\Subject.java 238B
studentInfoMS-main\StudentInfoMS\src\ui\searchPanel.java 2KB
studentInfoMS-main\StudentInfoMS\out\production\StudentInfoMS\ui\searchPanel$1.class 2KB
共 88 条
- 1
资源评论
阿里嘎多学长
- 粉丝: 6289
- 资源: 203
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- juhua-p8YYy-v0e13a7b5(1).apk
- Neo4j资源:Neo4j.rb的性能测试相关程序
- 排序算法之堆排序算法:用C++语言实现堆排序算法
- 基于Springboot的房屋租赁系统(源代码+论文+说明文档+PPT)-计算机专业精品毕业设计和课程设计
- leidian.py
- 直接插入排序算法:C语言实现直接插入排序算法
- 基于Springboot的大学生就业招聘系统(源代码+论文+说明文档+PPT)-计算机专业精品毕业设计和课程设计
- 基于Vue的H5结婚请帖前端设计源码
- saxaxasxasx
- 基于SSM++jsp的实验室耗材管理系统(源代码+论文+说明文档+PPT)-计算机专业精品毕业设计和课程设计
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功