分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

命令模式 - 设计模式 - PHP版

发布时间:2023-09-06 01:20责任编辑:苏小强关键词:PHP
 1 <?php 2 /* 3 ?* 命令模式 4 ?* ?5 ?*/ 6 //声明执行操作的接口(Command接口) 7 interface Cook { 8 ????public function excute(); 9 }10 //做米饭(ConcreteCommand)11 class CookRice implements Cook {12 ????private $cooker;13 ????function __construct(Cooker $cooker) {14 ????????$this->cooker = $cooker;15 ????}16 ????public function excute() {17 ????????$this->cooker->doRice();18 ????}19 }20 //做菜(ConcreteCommand)21 class CookFood implements Cook {22 ????private $cooker;23 ????function __construct(Cooker $cooker) {24 ????????$this->cooker = $cooker;25 ????}26 ????public function excute() {27 ????????$this->cooker->doFood();28 ????}29 }30 //服务员(Invoker)(通过List方式,可以进一步优化,这里略)31 class ServerPerson {32 ????private $cook;33 ????public function setCook(Cook $cook) {34 ????????$this->cook = $cook;35 ????}36 ????public function ExecuteCommand() {37 ????????$this->cook->excute();38 ????}39 }40 //厨师(Receiver)41 class Cooker {42 ????public function doRice() {43 ????????echo ‘做饭‘;44 ????}45 ????public function doFood() {46 ????????echo ‘做菜‘;47 ????}48 }49 //客户端50 class Client {51 ????public static function main() {52 ????????$cooker = new Cooker();53 ????????$server = new ServerPerson();54 ????????//做饭55 ????????$cookA = new CookRice($cooker);56 ????????$server->setCook($cookA);57 ????????$server->ExecuteCommand();58 ????????//做菜59 ????????$cookB = new CookFood($cooker);60 ????????$server->setCook($cookB);61 ????????$server->ExecuteCommand();62 ????}63 }64 Client::main();

命令模式 - 设计模式 - PHP版

原文地址:http://www.cnblogs.com/benben7466/p/7736562.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved