海角不转弯

代码是梦想的砖

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年5月23日

摘要: Memcached是一个高性能、分布式的内存对象缓存系统,它实际上就是一个简单的内存服务器,能够为应用程序存储数据提供一个缓存层,从而减轻数据库的负担。高速不持久。LRU。使用方式主要有两种。一、通读缓存。当应用程序检索数据时,应用程序首先检查缓存,看看要检索的数据是否已经在缓存中。如果确实存在,那么应用程序将直接返回数据而不用查询数据库。如果不在缓存中,则从数据库中获取数据,然后把数据存在缓存中,最后把数据返回给用户。二、连续写入缓存。将数据写入缓存,然后另一个不同的进程把以存储的数据从Memcached读取到数据库中。另一个进程机制可以用几种方式实现。 阅读全文
posted @ 2013-05-23 13:38 海角不转弯 阅读(144) 评论(0) 推荐(0) 编辑

2013年5月20日

摘要: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样可以在以后把该对象的状态恢复到之前保存的状态。记录目标对象某一状态。 1 /** 2 * 备忘录模式 3 */ 4 5 /** 6 * 发起人 7 */ 8 9 class Originator{ 10 11 private $_state; 12 13 public function __construct(){ 14 $this->_state=''; 15 } 16 17 /** 18 * 创建备忘录 19 ... 阅读全文
posted @ 2013-05-20 19:35 海角不转弯 阅读(209) 评论(0) 推荐(0) 编辑

摘要: 代理模式设计的角色有:抽象主题角色,声明了真是主题和代理主题的共同接口,这样一来在任何可以使用真实主题的地方都可以使用代理主题代理主题角色,内部含有对真实主题的引用,从而可以在任何时候操作真实主题对象;代理主题角色提供一个与真实主题角色相同的接口,以便可以在任何时候都可以替代真实主题。真实主题角色定义了代理角色所代表的的真实对象。当在需要过滤或增强两个对象之间的通信时,我们可以通过基于代理设计模式的对象来完成这个要求--- 阅读全文
posted @ 2013-05-20 19:31 海角不转弯 阅读(237) 评论(0) 推荐(0) 编辑

摘要: 又名包装模式,装饰器模式以客户端透明的方式扩展对象的功能。装饰器模式使用原来被装饰的类的一个子类的实例,把客户端的调用委派到被装饰类。装饰器模式的关键在于这种扩展时完全透明的。涉及到的角色抽象构建角色:给出一个抽象接口,以规范准备接受附加责任的对象。具体构建:定义一个将要接受附加责任的类。装饰角色:持有一个构建对象的实例,并定义一个与抽象构件接口一致的接口。具体装饰:负责给构件对象 贴上附加的责任。 阅读全文
posted @ 2013-05-20 12:04 海角不转弯 阅读(166) 评论(0) 推荐(0) 编辑

摘要: 把一个类的接口变换成客户端所期待的的另一种接口,从而使原本因接口不匹配无法在一起工作的两个类可以一起工作。适配器的用意是将接口不同而功能相同或者相近的两个接口加以转换,为适配器角色补充一个原角色没有的方法。一、类的适配器模式把被适配的类的API转换成目标类的API涉及的角色:目标角色(就是所期待的得到的接口,由于这里讨论的是类适配器,因此目标不可以是类 )原角色adaptee 现有需要适配的接口。适配器角色:适配器类,把源接口转换成目标接口。这一角色必须是类。example: 1 /** 2 * 类的适配器模式 3 */ 4 interface Target{ 5 6 /** 7... 阅读全文
posted @ 2013-05-20 10:35 海角不转弯 阅读(181) 评论(0) 推荐(0) 编辑

摘要: 今天学习结构模式里的相关内容--结构模式描述如何将类或者对象结合在一起形成更大的结构。结构模式描述两种不同的东西:类和类的实例。根据这一不同,结构模式可以分为类的结构模式和对象的解耦估摸是一、类的结构模式,使用继承把类,接口等组合在一起,以形成更大的结构。类的结构模式是静态的,类形式的适配器模式。二、对象的结构模式描述怎样把各种不同的类型和对象组合在一起,以实现新的功能和方法。对象的结构模式是动态的。--代理人模式,装饰器模式。 阅读全文
posted @ 2013-05-20 09:43 海角不转弯 阅读(109) 评论(0) 推荐(0) 编辑

2013年5月19日

摘要: 原型模式属于对象的创建模式--通过给出一个原型对象来指明所要创建的对象的类型。然后用复制这个原型对象的方法创建出更多同类型的对象。一般涉及三个角色客户角色:客户提出创建对象的请求。抽象原型角色:这是一个抽象角色,通常由一个接口类或抽象类实现,此角色给出所有的具体原型类所需的接口。具体原型角色,被复制的对象,此角色需要实现抽象的原型角色所要求的接口。深拷贝模式:深copy通过序列化和反序列化完成copy,新copy的内容完全复制原来的内容。原来的内容变化,新内容不变。 1 /** 2 *原型模式 3 * 4 */ 5 6 /** 7 * 抽象原型模式 8 */ 9 interface... 阅读全文
posted @ 2013-05-19 22:51 海角不转弯 阅读(220) 评论(0) 推荐(0) 编辑

摘要: 建造模式是对象的创建模式,建造模式可以将一个产品的内部表象和产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。Mailer()类使用的就是建造模式。设计到Builer以及Director,Product等。下面以一个案例说明:(以下案例是针对两个不同的建造者-) 1 /** 2 * 3 * 建造者模式 ... 4 * @author Lujianchao 5 * 6 */ 7 8 /** 9 * 10 * Director 11 * @author Lujianchao 12 * 13 */ 14 15 class D... 阅读全文
posted @ 2013-05-19 20:48 海角不转弯 阅读(186) 评论(0) 推荐(0) 编辑

摘要: 单例模式确保某一个类中只有一个实例,必须自行创建这个实例,它必须自行向整个系统提供这个实例。饿汉式单例-- 1 /** 2 * 3 *饿汉式单例类... 4 * @author Lujianchao 5 * 6 */ 7 8 9 class eagerSingleton{10 11 private static $m_instance;12 13 public static function getInstance(){14 15 return self::eagarSingle();16 17 }18 ... 阅读全文
posted @ 2013-05-19 17:28 海角不转弯 阅读(104) 评论(0) 推荐(0) 编辑

摘要: 工厂模式专门负责将大量有共同接口的类实例化,工厂模式可以动态地决定将哪一个类实例化不必事先知道每次要实例化哪一个类。工厂模式有以下几种形态简单工厂模式--静态工厂方法模式static factory method pattern工厂方法模式--多态性工厂polymorphic factory或虚构造子模式。virtual constructor抽象工厂模式--工具箱模式kit toolkit一、简单工厂模式:静态工厂方法模式 1 /** 2 *Simple Factory又称静态工厂方法模式 3 * 简单工厂模式 4 *以水果为例 5 */ 6 interface Frui... 阅读全文
posted @ 2013-05-19 16:31 海角不转弯 阅读(148) 评论(0) 推荐(0) 编辑