美文网首页
命令模式

命令模式

作者: 任教主来也 | 来源:发表于2017-03-08 09:48 被阅读12次

介绍

命令模式(Command Pattern)是行为型模式之一

将一系列的方法调用封装,用户只需要调用一个方法执行,那么所又这些被封装的方法就会被挨个执行调用。

定义

将一个请求封装成一个对象,从而让用户使用不同的请求把客户端参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。

Receiver: 接收者角色,负责执行或实施一个请求,执行逻辑,操作逻辑的方法的叫做 行动方法

Command: 命令角色,定义所有具体命令类的抽象接口

ConcreteCommand: 具体命令角色,实现了 Command,并在 execute 方法中调用接收者的角色的相关方法,在接收者和命令执行的具体行为之间加以弱耦合,excute 叫做 执行方法。比如 “关机操作” 实现,具体可能包含很多相关的操作,比如保存数据,关闭文件、结束进程等,如果将这一系列的具体逻辑处理看作接收者,那么调用这些具体逻辑的方法就可以看作是执行方法。

Invoker: 请求者角色,该类的职责就是调用命令对象执行具体请求。行动方法

Client: 客户端角色,发布命令

命令模式的应用就是将行为调用者与实现者解耦。

调用者是 Client,中间由 Invoker 来解耦,由 ConcreteCommand 按照逻辑操作各个 Receiver 完成具体的实现。

Android 源码中的命令模式

  1. Android 事件机制中底层逻辑对事件的转发处理

    硬件驱动担接收者 --> NotifyArgs 为抽象命令着 NotifyKeyArgs 为具体命令者 --> InputDispatcher 作为具体的接收者并封装具体的事件操作

  2. PackageManagerService 中对包的处理

    对包的相关处理由其内部类 PackageHandler 承担,对应命令角色
    对包的安装、移动、测量由 PackageHandler 的具体实现类 InstallParams,MoveParams、MeasureParams 来实现
    接收者为 PackageManagerService

相关文章

  • 12.vim的使用技巧

    命令模式 、命令行模式、编辑模式: INSERT 首次进入文件: 命令模式输入: 表示 命令行模式出现...

  • 五、Linux vim编辑器

    vim编辑器三种模式:命令模式、编辑模式、末行模式 1.命令模式: vim进入文件后就是命令模式 1.1 命令模式...

  • 终端操作文件

    VIM 模式切换从命令模式->编辑模式:i,a,o,I,A,O从编辑模式->命令模式:ESC从命令模式->末行模式...

  • vim 操作 && Mac 配置本地Apache

    一、vim 的基本命令操作 vim 的模式: 编辑模式 ,命令模式 编辑模式: 命令模式:可以通过命令 最重要的命...

  • Vim高效编辑器

    Vim程序员高效编辑器 命令模式,输入模式,底线命令模式 默认进入vim就是命令模式,输入i变为输入模式 命令模式...

  • Command模式

    命令模式(Command) 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Tran...

  • 设计模式详解——命令模式

    本篇文章介绍一种设计模式——命令模式。本篇文章内容参考《JAVA与模式》之命令模式。 一、命令模式的概念 命令模式...

  • Vi编辑器

    命令模式 文本输入模式 末行模式。 插入模式 移动光标: 删除命令: 撤销命令: 重复命令 文本行移动: 复制粘贴...

  • JavaScript设计模式七(命令模式)

    JavaScript设计模式七(命令模式) 定义: 命令模式是最简单和优雅的模式之一,命令模式中的命令指的是一个执...

  • Cisco 路由器配置命令大全(二)

    (1)模式转换命令 用户模式----特权模式,使用命令"enable"特权模式----全局配置模式,使用命令"co...

网友评论

      本文标题:命令模式

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