随笔分类 -  设计模式

摘要:定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带 阅读全文
posted @ 2017-01-16 22:07 timelesszhuang 阅读(210) 评论(0) 推荐(0) 编辑
摘要:【目的】:将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原来由于接口不兼容而不能一起工作的那此类可以一起工作 【主要角色】目标(Target)角色:定义客户端使用的与特定领域相关的接口,这也就是我们所期待得到的源(Adaptee)角色:需要进行适配的接口适配器(Adapter)角 阅读全文
posted @ 2017-01-13 09:09 timelesszhuang 阅读(374) 评论(0) 推荐(0) 编辑
摘要:废话不多说了,先给大家介绍注册树模式然后介绍工厂模式最后给大家介绍单列模式,本文写的很详细,一起来学习吧。 php注册树模式 什么是注册树模式? 注册树模式当然也叫注册模式,注册器模式。之所以我在这里矫情一下它的名称,是因为我感觉注册树这个名称更容易让人理解。像前两篇一样,我们这篇依旧是从名字入手。 阅读全文
posted @ 2017-01-12 23:03 timelesszhuang 阅读(343) 评论(0) 推荐(0) 编辑
摘要:今天的PHP设计模式系列的主角是迭代器(Iterator)模式,迭代器模式提供了抽象:位于对象图不明部分的一组对象(或标量)集合上的迭代。迭代器(Iterator)模式,它在一个很常见的过程上提供了一个抽象:位于对象图不明部分的一组对象(或标量)集合上的迭代。迭代有几种不同的具体执行方法:在数组属性... 阅读全文
posted @ 2015-04-10 23:45 timelesszhuang 阅读(284) 评论(0) 推荐(0) 编辑
摘要:"; }}//类适配器角色 class Adapter implements Target { private $adaptee; function __construct(Adaptee $adaptee) { $this->adaptee = $adaptee;... 阅读全文
posted @ 2015-03-25 16:54 timelesszhuang 阅读(145) 评论(0) 推荐(0) 编辑
摘要:①抽象基类:类中定义抽象一些方法,用以在子类中实现 ②继承自抽象基类的子类:实现基类中的抽象方法 ③工厂类:用以实例化所有相对应的子类 /** * * 定义个抽象的类,让子类去继承实现它 * */ abstract class Operation{ ... 阅读全文
posted @ 2015-03-23 20:21 timelesszhuang 阅读(418) 评论(0) 推荐(0) 编辑
摘要:单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。为什么要使用PHP单例模式1. php的应用主要在于数... 阅读全文
posted @ 2015-03-23 20:18 timelesszhuang 阅读(239) 评论(0) 推荐(0) 编辑
摘要:策略模式(StrategyPattern)策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。策略模式的三个角色:(能看懂就好)1.抽象策略角色2.... 阅读全文
posted @ 2015-03-23 20:16 timelesszhuang 阅读(148) 评论(0) 推荐(0) 编辑
摘要:介绍 现在有两派,有的人建议使用设计模式,有的人不建议使用设计模式!这就向写文章一样,有的人喜欢文章按照套路走,比如叙事性质的文章,时间,地点,人物,事件。而有的人喜欢写杂文或者散文,有的人喜欢写诗词!现在写代码很多地方类似于写文章,但是在有些地方比写文章需要更多的技能!写文章写多了一般也能写出优秀... 阅读全文
posted @ 2015-03-23 19:50 timelesszhuang 阅读(160) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示