理解设计模式之命令模式
来源:互联网 发布:淘宝全球购店铺申请 编辑:程序博客网 时间:2024/05/21 15:02
概述
将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。
简要说明
命令模式用于方法调用类和方法实现类之间的解耦。在调用某个方法的时候不直接通过实现类调用,而是通过调用具体命令类的方法,在具体命令类的方法里面调用实现类的方法。其实就是通过加入第三者(命令类)来实现调用者和执行者之间的解耦。
关系图
使用场景
命令模式可以简单的看成是方法的调用,我们只要希望调用者和方法类松耦合,就可以使用命令模式。
举例说明
我们现在有个画图的工具类,里面有画圆的方法和画方形的方法,有个画板类需要调用这两个方法。
//画图工具类public class PaintUtils{ public void drawCircle(){ //画圆的具体方法 } public void drawSquare(){ //画方形的方法 }}//画图命令接口public interface IPaintCommand{ public void execute();}//画圆的命令类public class DrawCircleCommand implements IPaintCommand{ private PaintUtils paintUtils; ... @Override public void execute(){ paintUtils.drawCircle(); }}//画方形的命令类public class DrawSquareCommand implements IPaintCommand{ private PaintUtils paintUtils; ... @Override public void execute(){ paintUtils.drawSquare(); }}//画板类public class Sketchpad { private ICommand iCommand; ... public void test(){ iCommand.exexute(); }}//测试类public class Test{ public static void main(String[] args){ Sketchpad sketchpad = new Sketchpad(); //画圆 ICommand iCommand = new DrawCircleCommand(); sketchpad.setICommand(iCommand); sketchpad.test(); //画方形 ICommand iCommand2 = new DrawSquareCommand(); sketchpad.setICommand(icommand2); sketchapad.test(); }}
阅读全文
0 0
- 设计模式之命令模式[自我理解]
- 理解设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之--命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之--命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- quartus ii 的研究报告
- 解決 java.security.cert.CertificateException: Certificates does not conform to algorithm constraints
- JavaScript学习-封装基础库1
- 【MyBatis】关于模糊查询的两种处理方法
- 2017年12月12日
- 理解设计模式之命令模式
- 从FastReport.NET导出文件时,如何配置Acrobat PDF阅览器选项
- maven 构建springmvc+mybatis项目
- java生成全球唯一的UUID
- android使用第三方平台(蒲公英)和DownloadManager实现APP自动更新
- CSS基础(10.overflow)
- Winform图片局部放大效果
- 机房之学生查看余额
- windows C++实现注销、重启、关机 logoff reboot shutdown