设计模式
写回
这个作者很懒,什么都没留下…
展开
-
PHP 适配器模式
适配器模式(PHP实现) e.g.://目标角色1.接口拥有多个方法//源角色1.只拥有部分部分方法//适配器角色1.委派调用源角色已经存在的方法2.适配 增加客户端需要其他方法 //客户端1.设置静态方法2.实例化源角色3.通过构造方法将注入 适配器模式(Adapter)模式:将一个类的接口,转换成客户期望的另一个类的接口。适配器让...原创 2018-08-09 18:03:45 · 192 阅读 · 0 评论 -
PHP设计模式——状态模式
前言状态设计模式是Gof提出的最吸引人的模式之一,也是一种最有用的模式。游戏通常就采用状态模式,因为游戏中的对象往往会非常频繁地改变状态。状态模式的作用就是允许对象在状态改变时改变其行为。还有很多其他模拟应用(不一定是游戏)也依赖于状态模式。本文将会谈到并举例说明。按照传统思维,如果有多个状态的话一般就是用if、else if、switch处理了,但是这类的代码看起来极其不美观,最重要的是没...转载 2018-10-29 20:57:33 · 126 阅读 · 0 评论 -
状态模式(State)
3.9.1. 目的 3.9.2. UML 类图 3.9.3. 代码 3.9.4. 测试3.9.1. 目的状态模式可以基于一个对象的同种事务而封装出不同的行为。它提供一种简洁的方式使得对象在运行时可以改变自身行为,而不必借助单一庞大的条件判断语句。3.9.2. UML 类图3.9.3. 代码你可以在 GitHub 上找到这些代码ContextOrder.php...转载 2018-10-29 21:01:37 · 201 阅读 · 0 评论 -
Yii 中使用了哪些设计模式?
单例模式public function set($class, $definition = [], array $params = []){ // 规范化 $definition 并写入 $_definitions[$class] $this->_definitions[$class] = $this->normalizeDefinition($class, $...转载 2018-10-29 21:03:44 · 308 阅读 · 0 评论 -
状态与策略——审批操作的两种方案
审批操作是ERP或OA系统中必不可少的功能之一。这里介绍两种我设计的用于审批操作的方案,并借此就“状态模式”与“策略模式”提出一点自己的理解。 别问我为什么不使用工作流引擎等工具来实现审批功能。做第一版方案时,我孤陋寡闻得并不知道有这个东西。后来引入工作流框架会导致学习曲线骤然上扬,不太划算。背景 背景无需过多介绍,不外乎有一些数据/任务/请求,需要由领导们点一下头或...转载 2018-10-29 21:05:40 · 1764 阅读 · 0 评论