设计模式
文章平均质量分 56
细水长流-
2014进入南华大学就读,2016年4月开始进入源辰IT教育培训
展开
-
设计模式练习(1)——简单工厂模式
简单工厂模式一、题目: 使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W。则返回一个对象Woman,用java语言实现该场景。现在需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。 (1)绘制简单工厂模式结构视图; (2)请绘制该实例类图,并代码实现。二、所用模式结构视图:三、实原创 2017-01-18 17:04:54 · 8673 阅读 · 1 评论 -
设计模式练习(18)——状态模式
状态模式 一、题目:某纸牌游戏中,人物角色具有入门级(Primary),熟练级(Secondary),高手级(Professional)和骨灰级(Final)四种等级,角色的等级与积分相对应,游戏胜利将增加积分,失败则扣除积分,入门级具有最基本的游戏功能play(),熟练级增加了游戏胜利积分加倍功能doubleScore(),高手级在熟练级基础上再增加换牌功能changeCards(),骨灰级在高手原创 2017-01-20 16:09:51 · 5411 阅读 · 1 评论 -
设计模式练习(17)——观察者模式
观察者模式 一、题目:某公司欲开发一套机房监控系统,如果机房达到一定指定温度,传感器将作出反应,将信号传递给响应设备,如警示灯将闪烁,报警器将发出警报,安全逃生门将自动开启、隔热门将自动关闭,每一响应设备的行为右专门的程序来控制,为支持将来引入新类型的响应设备,用观察者模式设计该系统 (1)绘制观察者模式结构视图 (2)给出实例类图并实现代码二、所用模式结构视图: 三、实例类图:四、实例实现代码原创 2017-01-20 16:05:51 · 7942 阅读 · 1 评论 -
设计模式练习(16)——备忘录模式
备忘录模式 一、题目:某软件公司正在开发一款网游,为了给玩家提供更多方便,在游戏过程中可以设置一个恢复点,用于保存当前的游戏场景,如果在后续游戏过程中,玩家角色“不幸牺牲”,玩家可以返回到先前保存的场景,从恢复点开始重新游戏,试用备忘录模式实现。 (1)绘制备忘录模式结构视图 (2)给出实例类图并实现代码二、所用模式结构视图: 三、实例类图:四、实例实现代码: (因为区分,所以在类的前面加了Gj原创 2017-01-20 16:02:28 · 1971 阅读 · 0 评论 -
设计模式练习(15)——中介者模式
中介者模式 一、题目:某软件公司需要开发一套图形用户界面类库,该类库包含若干个预定义的窗格对象,例如TextPane,ListPane,GraphicPane,窗口之间不允许直接调用,具有该类库的应用由一个包含一组窗格的窗口(Window)组成,窗口需要协调窗格之间的行为,采用中介者模式收集系统 (1)绘制中介者模式结构视图 (2)给出实例类图并实现代码。二、所用模式结构视图: 三、实例类图:四原创 2017-01-20 15:59:16 · 2516 阅读 · 0 评论 -
设计模式练习(14)——迭代器模式
迭代器模式 一、题目:某教务管理信息系统中,一个班级(class)包含多个学生(Stedent),使用java内置迭代器实现对学生数据的双向遍历,要求按学生年龄由大到小的次序输出学生信息,现使用迭代器模式设计系统。 (1)绘制迭代器模式结构视图 (2)给出实例类图并实现代码。二、所用模式结构视图: 三、实例类图:四、实例实现代码: (因为区分,所以在类的前面加了Gj19) 学生类:package原创 2017-01-20 15:54:09 · 13760 阅读 · 5 评论 -
设计模式练习(13)——命令模式
命令模式 一、题目:某软件公司欲开发一个基于windows平台的公告板系统,该系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法添加菜单项,菜单上的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包含OpenCommand(打开命令)、CreateCommand(创建命令)和EditeCommand(原创 2017-01-20 15:50:44 · 9976 阅读 · 5 评论 -
设计模式练习(12)——职责链模式
职责链模式 一、题目:在战斗中,一般根据战争规模的大小和重要性,由不同级别的长官(officer)来下达作战指令,情报人员向上级提交军情(包括敌人人数等信息),作战命令需要上级批准,如果直接上级不具备下达命令的权力,则传递给他的上级,直到有人可以决定为止。现使用职责链模式来模拟该过程,客户类模拟情报人员,首先向级别最低的班长(Bangzhang),提交任务书(Mission),即军情,如果超出班长的原创 2017-01-20 15:46:45 · 5598 阅读 · 0 评论 -
设计模式练习(11)——代理模式
代理模式 一、题目:在某应用软件中,需要记录业务方法的调用日期,在不修改现有业务类的基础上,为每一个类提供一个日记记录代理类,在代理类中输出日志,如在业务方法Mehtod()的调用之前,输出“Method方法被调用,调用时间2016.11.18 11:11:11”,调用之后没有抛出异常则输出“Mehtod方法调用成功”,否则输出“Mehtod方法调用失败”,在代理类中调用真实业务类的业务方法,使用代原创 2017-01-20 15:41:38 · 4531 阅读 · 1 评论 -
设计模式练习(10)——外观模式
外观模式 一、题目:在计算机主机(MainFrame)中,只需要按下主机的开机按钮(on()),就可以调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check()),CPU的运行(run()),硬盘(Harddisk)的读取(read()),操作系统(OS)的载入(load())等,如果某一过程发生错误,则计算机启动失败,使用外观模式模拟该过程绘制类图并编程实现。 (1)实现给出原创 2017-01-20 15:38:01 · 9891 阅读 · 0 评论 -
设计模式练习(9)——装饰模式
装饰模式 一、题目:简单的手机(SimplePhone)在接收到来电的时候,会发出声音来提醒主人,而现在我们需要为该手机添加一项功能,在接收来电的时候,除了有声音,还能产生震动(JarPhone),还可以得到更加高级的手机(ComplexPhone),来电时,它不仅能够发生,产生震动,而且有灯光闪烁提示,使用装饰模式来模拟手机功能的升级过程,要求绘制类图形编程模拟实现。 (1)给出装饰模式等结构视原创 2017-01-20 15:30:30 · 6382 阅读 · 1 评论 -
设计模式练习(8)——组合模式
组合模式 一、题目:使用组合模式,设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹Folder杀毒,也可以对某个指定的文件杀毒,文件种类包括,文本文档TextFile,图片文件ImageFile,视频文件VideoFile,绘制类图并编程模拟实现。 (1)绘制组合模式结构视图 (2)给出实例类图并实现代码。二、所用模式结构视图: 三、实例类图:四、实例实现代码: (因为区分原创 2017-01-20 15:26:41 · 5124 阅读 · 0 评论 -
设计模式练习(7)——桥接模式
桥接模式 一、题目:如果需要开发一个跨平台视频播放器,可以在不同操作平台(Windows、Linux、UNIX等)播放多种格式的视频文件,如PMEG、RMVB、AVI、WMV等常见适配格式,现使用桥接模式设计播放器。 (1)绘制桥接模式结构视图 给出实例类图并实现代码。。二、所用模式结构视图: 三、实例类图:四、实例实现代码: (因为区分,所以在类的前面加了Gj19) 播放视频类:辅助类pack原创 2017-01-20 15:22:01 · 2199 阅读 · 0 评论 -
设计模式练习(6)——适配器模式
工厂模式 一、题目:某OA系统需要提供一个加密模块,将用户机密信息(如口令、邮箱等)加密之后,存储在数据库中,系统已经定义好了数据库操作类,为了提高开发效率,现需要重用已有的加密算法,这些加密算法封装在由第三方提供的类中,有些甚至没有源代码,试使用适配器模式,设计该模块,在不修改现有类的基础上,重用第三方加密算法。 现有一个接口DataOperation定义了排序算法sort(int []),和查原创 2017-01-20 15:16:54 · 7709 阅读 · 1 评论 -
设计模式练习(5)——原型模式
原型模式 一、题目:某数据处理软件需要增加一个图表复制功能。在图表对象(DataChart)中包含一个数据集对象(DataSet)。数据集对象用于封装要显示的数据,用户可以通过界面上的复制按钮将该图表复制一份,复制后,即可得到新的图表对象,然后可以修改新图表的编号、颜色、数据。试用原型模式设计软件实现深克隆。 (1)给出原型模式等结构视图 (2)给出该实例等类图及代码实现二、所用模式结构视图:原创 2017-01-18 17:27:52 · 4153 阅读 · 0 评论 -
设计模式练习(4)——建造者模式
建造者模式一、题目:某软件公司要开发一个视频播放软件,为了给用户提供方便,该播放软件提供了多种界面显示模式,如完整模式、精简模式、记忆模式、网络模式等。在不同的显示模式下,主界面的组成元素有所差异,如在完整模式下将显示菜单、播放列表、主窗口、控制条等,在精简模式下只显示主窗口和控制条,而在记忆模式下,将显示主窗口、控制条、收藏列表等。试用建造者模式设计软件。 (1)给出建造者模式等结构视图 (2原创 2017-01-18 17:24:36 · 4555 阅读 · 0 评论 -
设计模式练习(3)——抽象工厂模式
抽象工厂模式 一、题目:某软件公司要推出一款新的手机游戏软件,该软件支持IOS、Android和Windows Phone等多个智能手机操作系统平台,针对不同的手机操作系统,该游戏软件提供了不同的游戏操作控制类(OperationController)和游戏界面控制类(InterfaceController),并提供的相应的工厂类来封装这些类的初始化过程。该软件要求具有较好的扩展性,以支持新的操作系原创 2017-01-18 17:18:45 · 5372 阅读 · 2 评论 -
设计模式练习(2)——工厂模式
工厂模式一、题目:现需要设计一个程序来读取多种不同类型的图片格式,针对每一种图片格式都设计一个图片读取器ImgReader,如gif图片读取器GifReader用于读取gif格式的图片,jpg图片读取器JPGReader用于读取jpg格式的图片。图片读取器对象通过图片读取器工厂ImgReaderFactory来创建。ImgReaderFactory是一个抽象类,用于定义创建图片读取器的工厂方法,其G原创 2017-01-18 17:10:56 · 15522 阅读 · 0 评论 -
设计模式练习(19)——策略模式
策略模式 一、题目:设计一个网上书店,该系统中所有的计算机图书(ComputerBook),每本都有10%的折扣;所有的语言类图书(LanguageBook),每本有2元的折扣;小说类图书以每100元有10元的折扣,用策略模式设计该系统 (1)绘制策略模式结构视图 (2)给出实例类图并实现代码二、所用模式结构视图: 三、实例类图:四、实例实现代码: (因为区分,所以在类的前面加了Gj19) 策略原创 2017-01-20 16:13:15 · 7307 阅读 · 1 评论