命令模式

2019-03-27  本文已影响0人  _fan凡

命名模式定义如下:

命令模式是一个高内聚的模式,定义为:

Encapsulate a request as an object,thereby letting you parameterize clients with different request,queue or log requests ,and support undoable operations.

讲一个对象封装为一个请求,以便于使用不同的请求对客户端的进行参数化,对请求排队或者记录日志,并支持可撤销的操作。

通用类图如下:


11.png

各个角色定义如下:

1、Receiver:接收者角色,命令传递到这里,就是被该类执行的

2、Commond:命令角色,需要执行的命令都在这里声明,根据面向对象的规则,对现实世界中存在的事物进行抽象,在这里把把命令抽象成一个对象。

3、Invoker:调用者角色,接收到命令,并执行该命令。

命令角色是命令模式的核心。

命令模式的优点:

1、类间解耦:调用者和接受者进行解耦,没有任何的联系,调用者实现功能是只需要实现Command的抽象方法即可。

2、可扩展性:新增的命令只需要实现或者继承Command类即可。

命令模式的缺点:

1、命令非常多时,会使类的数量暴增
上一篇 下一篇

猜你喜欢

热点阅读