php设计模式
文章平均质量分 68
mu_fan_yang
从现在开始永远都不晚Its never too old to learn
展开
-
php设计模式——简单工厂模式
工厂模式,工厂类就是用来生成特定的对象类,然后用特定的对象类来处理特殊的业务需求。 <?php /** * 操作类 */ abstract class operation{ public $numA = 0; public $numB = 0; public function setVal($a, $b){ $this->numA = $a; $this->numB原创 2015-01-06 22:53:00 · 438 阅读 · 0 评论 -
php设计模式——装饰器模式
装饰器模式,对已有对象的部分内容或者功能进行调整,但是不需要修改原始对象结构,可以使用装饰器 场景事例: 咖啡 1 元一杯,加点牛奶0.2元,加点糖0.2元,在不修改咖啡类的情况下,使用装饰器模式 <?php abstract class Beverage{ public $_name; abstract public function Cost(); } // 被装饰者类 class原创 2015-01-15 19:51:11 · 414 阅读 · 0 评论 -
php设计模式——策略模式
/** * 商场活动1,打折优惠收费方式,策略1 */ class CashRebate{ public $rebate; //打折额度<=1,正常收费情况下等于1 public function setActive($moneyRebate){ $this->rebate = $moneyRebate; } //具体实现收取现金方法 public function acc原创 2015-01-15 12:55:12 · 329 阅读 · 0 评论 -
PHP设计模式——观察者模式
观察者模式定义对象的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新! 设计原则: 在观察者模式中,会改变的是主题的状态以及观察者的数目。用这个模式,你可以改变依赖于主题状态的对象,却不必改变主题。——找出程序中会变化的方面,然后将其和固定不变的方面相分离! 主题和观察者都使用接口:观察者利用主题的接口向主题注册,而主题利用观察者接口通知观察者。这样可以原创 2015-01-19 16:57:10 · 362 阅读 · 0 评论 -
PHP设计模式——单例模式
单例模式就是保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但是不能防止你实例化多个变量,一个最好的办法就是让类自身负责保存它的唯一实例,这个类可以保证没有其它实例可被创建,并且他可以提供一个访问该实例的方法。 下面提供两种单例模式的例子: 例1: class loadClass{ private static $classArr = a原创 2015-01-19 15:45:32 · 329 阅读 · 0 评论 -
PHP简单工厂模式、工厂方法模式和抽象工厂模式比较
PHP工厂模式概念:工厂模式是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。 根据抽象程度不同,PHP工厂模式分为:简单工厂模式、工厂方法模式和抽象工厂模式 简单工厂模式: /** *简单工厂模式与工厂方法模式比较。 *简单工厂又叫静态工厂方法模式转载 2015-01-19 18:13:43 · 534 阅读 · 0 评论 -
PHP设计模式——解释器模式
解释器模式 用于分析一个实体的关键元素,并且针对每个元素提供自己的解释或相应动作。解释器模式非常常用,比如PHP的模板引擎 就是非常常见的一种解释器模。 <?php //解释器模式 用于分析一个实体的关键元素,并且针对每个元素提供自己的解释或相应动作 //解释器模式非常常用,比如PHP的模板引擎 就是非常常见的一种解释器模式 class template { pri原创 2015-01-20 17:48:59 · 390 阅读 · 0 评论 -
PHP设计模式——数据访问对象模式
数据访问对象模式描述了如何创建透明访问数据源的对象。 应用场景: 设计一个BaseDao基类,实现数据库操作基本的一些query,insert,update方法 在实际使用的过程中,继承BaseDao,就可以直接调用基类的数据库操作方法 <?php /** * 数据访问对象(Data Access Object) 示例 * * @create_date: 2010-01-04 */转载 2015-01-20 17:59:55 · 613 阅读 · 0 评论