信息系统与分析实验报告.docx
- 文档编号:11007790
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:12
- 大小:118.77KB
信息系统与分析实验报告.docx
《信息系统与分析实验报告.docx》由会员分享,可在线阅读,更多相关《信息系统与分析实验报告.docx(12页珍藏版)》请在冰点文库上搜索。
信息系统与分析实验报告
院系:
计算机科学学院
专业:
软件工程
年级:
2011级
课程名称:
《信息系统分析与设计》
姓名:
学号:
指导教师:
2014年6月17日
年级
2011
班号
3
学号
11065090
专业
软件工程
姓名
汪龙
实验名称
设计模式上机实验
实验室
9#204
实
验
目
的
和
要
求
1、实验目的:
熟练使用Bluej绘制组合模式结构图;使用Bluej和JAVA实现几种常见的设计模式,包括工厂方法模式、职责链模式、策略模式、原型模式、模板方法模式、适配器模式、桥接模式和观察者模式。
二、实验要求:
1. 使用Bluej绘制标准的组合模式结构图;
2. 正确无误绘制工厂方法模式、职责链模式、策略模式、原型模式、模板方法模式、适配器模式、桥接模式和观察者模式的模式结构图;
3. 使用JAVA编程语言实现工厂方法模式、观察者模式,代码运行正确无误。
实
验
原
理
(
算
法
流
程
)
一、工厂方法模式:
皇帝要穿衣服,不可能自己去拿,所以皇帝就会叫宫女负责去拿,而衣服分为白色,黄色,黑色三种。
衣服也不是宫女能变出来的,所以衣服有衣服工厂负责生产,宫女负责拿,皇帝负责选择颜色。
1,所以我们可以先定义抽象衣服:
我们定义的每件衣服都有一个方法:
getColor(获得衣服的颜色)。
publicinterfaceClothes
{
//每件衣服都有相应的颜色
publicvoidgetColor();
}
2,接下来定义每一件具体的衣服:
白衣服:
publicclassWhiteClothesimplementsClothes{
publicvoidgetColor(){
System.out.println("白衣服是白色的!
");
}
}
黄衣服:
publicclassYellowClothesimplementsClothes{
publicvoidgetColor(){
System.out.println("黄衣服是黄色的!
");
}
}
黑衣服:
publicclassBlackClothesimplementsClothes{
publicvoidgetColor(){
System.out.println("黑衣服是黑色的!
");
}
}
(写不完时,可另加附页。
)
3,接下来定义负责拿的宫女:
publicabstractclassLadiesFactory{
publicabstractClothescreateClothes(Class
extendsClothes>c);
}
4,然后是负责生产的衣服工厂:
publicclassClothesFactoryextendsLadiesFactory{
publicClothescreateClothes(Class
extendsClothes>c){
//定义一件生产的衣服
Clothesclothes=null;
try{
//产生一件衣服
clothes=(Clothes)Class.forName(c.getName()).newInstance();
}catch(Exceptione){
System.out.println("衣服生成错误!
");
}
returnclothes;
}
}
5,最后是负责指挥的皇帝:
publicclassEmperor{
publicstaticvoidmain(String[]args){
//声明宫女
LadiesFactoryYinYangLu=newClothesFactory();
System.out.println("\n--皇帝第一次要穿的衣服是白色衣服--");
ClotheswhiteClothes=YinYangLu.createClothes(WhiteClothes.class);
whiteClothes.getColor();
System.out.println("\n--皇帝第二次要穿的衣服是黑色衣服--");
ClothesblackClothes=YinYangLu.createClothes(BlackClothes.class);
blackClothes.getColor();
System.out.println("\n--皇帝第三次要穿的衣服为黄色衣服--");
ClothesyellowClothes=YinYangLu.createClothes(YellowClothes.class);
yellowClothes.getColor();
}
}
二,观察者模式:
猫叫的时候老鼠就会跑(这个时候老鼠就是观察者他一观察猫叫就跑)
我就以猫和老鼠为例子来分析一下自己对java观察者模式的理解!
1.老鼠接口------观察者模式中观察者接口
PublicinterfaceListening{
Publicvoidrun();
}
2,白鼠----具体的观察者之
publicclassRats{
publicvoidrun(){
System.out.println("mimi,白鼠run");
}
}
4,猫----被观察者
publicclassCat{
publicvoidmimi(){
System.out.println("catmimi");
EventManagemanage=EventManage.getInstance();
manage.triggerEvent();
}
}
5,事件管理类:
用来管理监听器和触发器
importjava.util.ArrayList;
importjava.util.List;
publicclassEventManage{
privatestaticEventManagemanage=newEventManage();
privateEventManage(){
}
publicstaticEventManagegetInstance(){
newRats();
returnmanage;
}
privateList
publicvoidaddListening(Listeningl){
if(null==listenings||listenings.isEmpty()){
listenings=newArrayList
}
listenings.add(l);
}
publicvoidremoveListening(Listeningl){
if(null==listenings||listenings.isEmpty()){
System.out.println("没有配置监听器");
}
listenings.remove(l);
}
publicvoidtriggerEvent(){
if(null==listenings||listenings.isEmpty()){
listenings=newArrayList
}
for(Listeningl:
listenings){
l.run();
}
}
}
5客户端调用类
publicclassClient{
publicstaticvoidmain(String[]args){
Catcat=newCat();
cat.mimi();
}
}
四,运行结果:
1,工厂方法模式
1,观察者模式:
实
验
结
果
分
析
及
心
得
体
会
五,心得体会:
通过这次试验,我能熟练使用Bluej绘制组合模式结构图;并且能用JAVA编程语言实现几种常见的设计模式,包括工厂方法模式、职责链模式、策略模式、原型模式、模板方法模式、适配器模式、桥接模式和观察者模式。
对这几种模式有了深刻的理解,加深了JAVA的应用能力,对模式结构图有了深入了解。
成
绩
评
定
教师签名:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息系统 分析 实验 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)