
设计模式
ma199385
这个作者很懒,什么都没留下…
展开
-
设计模式三大基础模式之工厂模式,单例模式,注册树模式
工厂模式:专门定义一个类来负责创建其它类的实例,被创建的实例通常都具有共同的父类。 <?php abstract class Transportation { protected $name; public function moveWay(){ } } class Car extends Transportation{ protected原创 2015-07-22 16:33:28 · 562 阅读 · 0 评论 -
PSR_0语法基础框架
规范: 1. 命名空间必须与绝对路径一致。 2. 类名首字母必须大写。 3. 除入口文件外,其他”.php”文件必须是一个类。 实例代码结构: t3.php:<?phpnamespace m1\m2;class T3{ static function t3(){ echo "t3"; }}t4.php<?phpnamespace m3;clas原创 2015-07-21 21:15:43 · 490 阅读 · 0 评论 -
装饰器模式
定义:装饰器模式可以动态的添加修改类的功能初始的一个类,无任何修饰,只简单的输出helloworld<?class HelloWorld { protected $output="HelloWorld"; public function output() { echo $this->output; }}$hw=new HelloWorld();$原创 2015-08-31 10:42:51 · 405 阅读 · 0 评论 -
php设计模式之观察者模式
原理:这一模式允许某个类观察另一个类的状态,当被观察的类状态发生改变的时候,观察类可以收到通知并且做出相应的动作,通常情况下,一个观察者类负责观察被观察者中的一个动作使用场景:用户注册(验证邮件,用户信息激活),购物网站下单时邮件/短信通知等.接口: SplSubject 接口,它代表着被观察的对象, 其结构: interface SplSubject原创 2015-08-17 11:18:10 · 402 阅读 · 0 评论 -
php设计模式之适配器模式
适配器模式分为两种分别是类适配器和对象适配器借鉴http://blog.youkuaiyun.com/hguisu/article/details/7527842类适配器:实用性: 你想使用一个已经存在的类,而它的接口不符合你的需求。你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类协同工作。原理: 将要用到的角色分为以下几种:target最早实现的接口,adaptee改善之后的接口,a原创 2015-07-30 17:46:48 · 378 阅读 · 0 评论 -
php设计模式之原型模式
实现方式:原型模式是先创建好一个原型对象,然后通过clone原型对象来创建新的对象。何时使用:原型模式适用于大对象的创建。创建一个大对象需要需要很大的开销,如果每次new就会消耗很大,原型模式仅需内存拷贝即可,这样就免去了类创建重复的初始化操作。实例:<?php/** * * @authors mtg * @date 2015-08-20 10:10:47 */class Peop原创 2015-08-20 10:43:33 · 588 阅读 · 0 评论 -
php设计模式之迭代器模式
定义:迭代器模式在不需要了解内部实现的前提下,遍历一个一个聚合对象的内部元素,可以隐藏遍历元素所需的操作,让聚合对象的内部实现不暴露给访问者 实例:<?phpinclude 'db.php';class MyIterator implements Iterator{ private $position = 0; //注意:被迭代对象属性是私有的 private $data原创 2015-09-15 10:24:50 · 440 阅读 · 0 评论 -
php设计模式之策略模式
1.定义:将一组特定的行为和算法封装成类,以适应某些特定的上下文环境 2. 使用策略模式可以实现ioc,依赖倒置,控制反转<?php/** * * @authors mtg * @date 2015-08-07 15:00:54 *//*** 策略接口类:具体策略类需要实现其中的方法*/interface Eat{ public function eat();}原创 2015-08-07 16:01:02 · 498 阅读 · 0 评论