美文网首页
命令模式

命令模式

作者: _fan凡 | 来源:发表于2019-03-27 00:03 被阅读0次

    命名模式定义如下:

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

    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、命令非常多时,会使类的数量暴增
    

    相关文章

      网友评论

          本文标题:命令模式

          本文链接:https://www.haomeiwen.com/subject/uqoovqtx.html