首页 肖正文命令模式

肖正文命令模式

举报
开通vip

肖正文命令模式云南大学软件学院 实  验  报  告 序号:    姓名:肖正文 学号:20121120141专业:软件工程 日期:2014/12/22 成绩:        实验四 命令模式的运用 一、实验目的: 命令模式将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象,命令模式也支持可撤销的操作。在熟悉命令模式相关理论知识的基础上,使用命令模式实现图片处理程序。 二、实验要求: 使用命令模式实现图片处理程序,要求如下: 1. 图片处理程序要有3张图片。 2. 每张图片至少有3种操作。 3. 实现类似...

肖正文命令模式
云南大学软件学院 实  验  报  告 序号:    姓名:肖正文 学号:20121120141专业:软件工程 日期:2014/12/22 成绩:        实验四 命令模式的运用 一、实验目的: 命令模式将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象,命令模式也支持可撤销的操作。在熟悉命令模式相关理论知识的基础上,使用命令模式实现图片处理程序。 二、实验要求: 使用命令模式实现图片处理程序,要求如下: 1. 图片处理程序要有3张图片。 2. 每张图片至少有3种操作。 3. 实现类似遥控器的菜单,动态的选择对图片进行的处理。 4. 要有“撤消操作”,撤消操作要可以撤销至最后一步。 1、 设计并绘制该程序的类图; 2、 依照设计的类图使用Java语言编写代码,并实现该程序; 3、 除了核心的模式相关类实现外,提供测试环境,按照难度高低,分别是: a) 控制台程序,Client硬编码初始化模式和测试环境,运行结果文本输出; b) 控制台程序,Client初始化测试环境,并根据用户输入运算,运行结果文本输出; c) 设计并实现用户UI,Client初始化测试环境,并根据用户在UI控件上的输入运算,运行结果文本输出; 三、实验 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 : 1体系结构 2类图 1. 命令 2. package xiao.it.Commend; 3. /** 4. * 命令接口 5. * @author Administrator 6. * 7. */ 8. public interface Command { 9.   public String execute(); 10. } 每张图片1的控制命令 1切割 package xiao.it.ConcreteCommend1; import xiao.it.Commend.Command; import xiao.it.Picture.Picture1; public class CutCommand implements Command { Picture1 p1=null; public CutCommand(Picture1 p){ this.p1=p; } @Override public String execute() { // TODO Auto-generated method stub return p1.cut(); } } 2旋转 package xiao.it.ConcreteCommend1; import xiao.it.Commend.Command; import xiao.it.Picture.Picture1; /** * 对图像1进行旋转 * @author Administrator * */ public class RotaCommand implements Command { Picture1 p1=null; public RotaCommand(Picture1 p){ this.p1=p; } @Override public String execute() { // TODO Auto-generated method stub return p1.rota(); } } 3平移 package xiao.it.ConcreteCommend1; import xiao.it.Commend.Command; import xiao.it.Picture.Picture1; public class TransCommand implements Command{ Picture1 p1=null; public TransCommand(Picture1 p){ this.p1=p; } @Override public String execute() { // TODO Auto-generated method stub return p1.trans(); } } 图片2的具体命令 1放大 package xiao.it.ConcreteCommend2; import xiao.it.Commend.Command; import xiao.it.Picture.Picture1; import xiao.it.Picture.Picture2; /** * 对图片2进行放大 * @author Administrator * */ public class FangdaCommand implements Command { Picture2 p2=null; public FangdaCommand(Picture2 p){ this.p2=p; } @Override public String execute() { // TODO Auto-generated method stub return p2.Fangda(); } } 2缩小 package xiao.it.ConcreteCommend2; import xiao.it.Commend.Command; import xiao.it.Picture.Picture2; /** * 对图片2进行缩小 * @author Administrator * */ public class SuoxiCommand implements Command{ Picture2 p2=null; public SuoxiCommand(Picture2 p){ this.p2=p; } @Override public String execute() { // TODO Auto-generated method stub return p2.Suoxi(); } } 3伪彩色 package xiao.it.ConcreteCommend2; import xiao.it.Commend.Command; import xiao.it.Picture.Picture2; public class WecaiseCommand implements Command { Picture2 p2=null; public WecaiseCommand(Picture2 p){ this.p2=p; } @Override public String execute() { // TODO Auto-generated method stub return p2.Wecaise(); } } 图片3处理方式 滤波 package xiao.it.ConcreteCommend3; import xiao.it.Commend.Command; import xiao.it.Picture.Picture2; import xiao.it.Picture.Picture3; /*8 * 对图片3进行滤波 */ public class LuBoCommand implements Command { Picture3 p3=null; public LuBoCommand(Picture3 p){ this.p3=p; } @Override public String execute() { // TODO Auto-generated method stub return p3.LuBo(); } } 2锐化 package xiao.it.ConcreteCommend3; import xiao.it.Commend.Command; import xiao.it.Picture.Picture3; /** * 对图片3进行锐化 * @author Administrator * */ public class RuihaCommand implements Command { Picture3 p3=null; public RuihaCommand(Picture3 p){ this.p3=p; } @Override public String execute() { // TODO Auto-generated method stub return p3.Ruiha(); } } 曾强 package xiao.it.ConcreteCommend3; import xiao.it.Commend.Command; import xiao.it.Picture.Picture3; /** * 对图片3进行增强 * @author Administrator * */ public class ZenQiangCommand implements Command { Picture3 p3=null; public ZenQiangCommand(Picture3 p){ this.p3=p; } @Override public String execute() { // TODO Auto-generated method stub return p3.ZenQiang(); } } 远程控制器 package xiao.it.control; import java.util.ArrayList; import xiao.it.Commend.Command; import xiao.it.NullConcreteCommend.Nocommand; /** * 带有撤销的三种操作 * @author Administrator * */ public class RenoteControler { Command[] com1; Command[] com2; Command[] com3; public static int length; //用来存储一系列的撤销命令,以达到栈的目的 ArrayList undocommnd =new ArrayList(); Command nocommand=new Nocommand();
本文档为【肖正文命令模式】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_266065
暂无简介~
格式:doc
大小:31KB
软件:Word
页数:15
分类:互联网
上传时间:2019-01-25
浏览量:22