设计模式_命令模式
先来看个例子:Boss想要做一个财务管理系统,于是安排了UI,前端,后端,三人进行开发,老板的需求随时变化,于是他每次都要分别找到三人说自己的需求。
定义UI行为接口【IUI】,定义方法设计界面【designScreen】。
定义前端行为接口【IFrontEnd】,定义方法绘制界面【DrawInterface】。
定义后端行为接口【IBackEnd】,定义开发后台方法【DevelopmentBackground】。
分别定义【UI】,【FrontEnd】,【BackEnd】实现三个接口。


测试结果:

如何用命令模式实现?Boss只要跟一个代理人去下达命令就行,其它的他不关心。
定义抽象命令类【Command】,拥有三个对象,定义抽象命令执行方法【execute】。

定义各种命令实现类【Command1】,【Command2】....

定义项目经理类【ProjectManager】,拥有命令对象,定义执行命令方法【action】。

测试结果:

总结:Boss只需要制造命令,告诉项目经理就行了。说到这里,你是不是感觉他像代理模式和门面模式呢,只不过门面模式侧重于顺序,而命令模式侧重于不同的顺序组合和扩展性,这在struts应用比较多。代理模式侧重于被代理的对象方法。
浙公网安备 33010602011771号