• 技术文章 >PHP >PHP教程

    php命令模式如何理解

    小妮浅浅小妮浅浅2021-08-26 10:06:55原创28579

    1、把请求封装成一个对象,允许使用不同的请求来参数化客户。对请求进行排队或记录请求日志,并支持可撤销动作。

    2、组成命令抽象类、具体命令类等。

    命令抽象类,用来声明执行操作的接口。

    具体命令类,将一个接收者对象绑定于一个动作,调用接收者相应的操作。

    命令发送者,要求该命令执行这个请求。

    命令接收者,知道如何实施与执行一个请求相关的操作,任何类都可能作为一个接收者。

    客户端代码,创建一个具体命令对象并设定它的接收者。

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    <?php

    //命令抽象类

    abstract class Command{

    //执行方法

    abstract function Excute();

    }

      

    //具体命令类-可以根据不同情况有多个继承具体类

    class ConcreteCommand extends Command{

    private $Receiver;

    function __construct(Receiver $Receiver)

    {

    $this->Receiver = $Receiver;

    }

    function Excute()

    {

    $this->Receiver->DoSomething();

    }

    }

      

    //接受者类

    class Receiver{

    //定义接受者要做的事情,可以有很多

    function DoSomething()

    {

    echo "Receiver do something.";

    }

    }

      

    //调用者

    class Invoker{

    private $Command;

    function __construct(Command $Command)

    {

    $this->Command = $Command;

    }

    function Action()

    {

    $this->Command->Excute();

    }

    }

      

    //调用

    //不使用调用者类调用

    $Receiver = new  Receiver();

    $Command = new ConcreteCommand($Receiver);

    $Command->Excute();

      

    //使用调用者类

    $Invoker = new Invoker($Command);

    $Invoker->Action();

    ?>

    以上就是php命令模式的理解,希望对大家有所帮助。更多php学习指路:php教程

    推荐操作系统:windows7系统、PHP5.6、DELL G3电脑

    专题推荐:php命令模式
    上一篇:php按值传递和引用传递的比较 下一篇:php常量中两种定义方式的比较

    相关文章推荐

    • php中__get如何获取成员属性• php中__isset方法的使用• php魔术方法__invoke的介绍• php中__sleep方法的使用• php中CLI模式是什么• php自动加载机制是什么• php static的三种使用方法• php $this是什么意思• php中$this的就近原则• php数组中array_column()函数的使用• php数组array_multisort()函数是什么• php empty()函数的用法• php按值传递和引用传递的比较

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网