文章分类 -  设计模式

1

<转>足智多谋的策略模式(Strategy Pattern)
摘要:夏天来了,深圳的大小梅沙必将是人满为患,大家在游泳时还是要注意安全地。那如果真人有溺水了怎么办?有人会打120,有人会做人工呼吸(必须得是 个美女才行),有人会用拳头叩击心前区急救。他们的做法都是对的,只是不同情况,不同的人会有不同的策略!既然这样,那就用策略模式来模拟下,类图如下:由图可以看出,策... 阅读全文

posted @ 2016-01-26 13:29 hahahahahai12 阅读(199) 评论(0) 推荐(0)

<转>设计模式(六)桥连模式Bridge(结构型)
摘要:设计模式(六)桥连模式Bridge(结构型)1. 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?例子1:设想如果要绘制矩形、圆形、椭圆、正方形,我们... 阅读全文

posted @ 2015-11-21 15:55 hahahahahai12 阅读(183) 评论(0) 推荐(0)

<转>设计模式(五)适配器模式Adapter(结构型)
摘要:设计模式(五)适配器模式Adapter(结构型)1. 概述: 接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题。程序提供者们修改他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化。 例子1:iphone4,你即可以使用UBS接口连接电脑来充电,假如只有iphon... 阅读全文

posted @ 2015-11-11 21:43 hahahahahai12 阅读(190) 评论(0) 推荐(0)

<转> 策略模式与工厂模式比较
摘要:这段时间看了一些设计模式,看到策略模式与工厂模式的时候,总是感觉他们很相似,不要区分,到具体的场景了你可能还在徘徊到底用工厂还是策略呢?这几天就想写一篇关于策略模式与工厂模式区别的文章,但一直没思路,昨天跟淘宝mm聊了聊,今天早上思路顿时开阔。当时我在说明策略模式与工厂模式区别的时候举了一个例子。说... 阅读全文

posted @ 2015-11-11 21:10 hahahahahai12 阅读(114) 评论(0) 推荐(0)

<转>常用设计模式之装饰器模式及其PHP实现
摘要:装饰器模式是一种结构型模式,它动态的给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。装饰模式是以对客户透明的方式动态地给一个对象附加上更多的职责。这也就是说,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功... 阅读全文

posted @ 2015-11-06 14:40 hahahahahai12 阅读(131) 评论(0) 推荐(0)

<转>php 设计模式 之 装饰模式
摘要:装饰模式: 顾名思义,装饰模式是一种对对象数据的多次过滤,就像装饰一样, 一层层的修饰, 获取满意的结果。装饰模式共分为两个部分:1: 装饰者: 在这个接口接口下面的类和方法用以对数据进行修饰(即对数据进行过滤修改)2: 被装饰者: 这个就是要被过滤的数据接口对象情景: 炒菜之前要对买来的菜进行拣... 阅读全文

posted @ 2015-11-06 00:28 hahahahahai12 阅读(122) 评论(0) 推荐(0)

<转>PHP设计模式笔记:使用PHP实现策略模式
摘要:PHP设计模式笔记:使用PHP实现策略模式【意图】定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式可以使算法可独立于使用它的客户而变化策略模式变化的是算法【策略模式结构图】策略模式【策略模式中主要角色】抽象策略(Strategy)角色:定义所有支持的算法的公共接口。通常是以一个... 阅读全文

posted @ 2015-11-05 22:51 hahahahahai12 阅读(200) 评论(0) 推荐(0)

<转>PHP简单工厂模式、工厂方法模式和抽象工厂模式比较
摘要:PHP工厂模式概念:工厂模式是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。根据抽象程度不同,PHP工厂模式分为:简单工厂模式、工厂方法模式和抽象工厂模式简单工厂模式:/... 阅读全文

posted @ 2015-11-05 21:54 hahahahahai12 阅读(143) 评论(0) 推荐(0)

<转>PHP设计模式——职责链模式
摘要:声明:本系列博客参考资料《大话设计模式》,作者程杰。 职责链模式(又叫责任链模式)包含了一些命令对象和一些处理对象,每个处理对象决定它能处理那些命令对象,它也知道应该把自己不能处理的命令对象交下一个处理对象,该模式还描述了往该链添加新的处理对象的方法。 UML类图: 角色: 抽象处理者(Man... 阅读全文

posted @ 2015-11-05 18:21 hahahahahai12 阅读(151) 评论(0) 推荐(0)

<转>[php]php设计模式 Chain Of Responsibility (职责链模式)
摘要:1 _handler =$handler;15 }16 17 abstractfunction handleRequest($request);18 }19 20 class ConcreteHandlerZero extends Handler21 {22 publicfunction ... 阅读全文

posted @ 2015-11-05 18:02 hahahahahai12 阅读(174) 评论(0) 推荐(0)

<转> php 面向对象开发中的观察者模式介绍
摘要:观察者模式可以通过灵巧的方式减少各个组件之间的联系。使各个类专注于做自己的事情。在类的扩展功能需要调整修改时而不用频繁的修改主流程代码。比如一个用户注册后需要产生的相关动作:如发送短信,发送邮件,写文本日志等的需求。下面我们通过一个模拟案例来演示 SPL 在实现 Observer 设计模式上的威力... 阅读全文

posted @ 2015-11-05 00:40 hahahahahai12 阅读(189) 评论(0) 推荐(0)

<转>PHP程序员如何理解IoC/DI
摘要:思想是解决问题的根本思想必须转换成习惯构建一套完整的思想体系是开发能力成熟的标志——《简单之美》(前言).“成功的软件项目就是那些提交产物达到或超出客户的预期的项目,而且开发过程符合时间和费用上的要求,结果在面对变化和调整时有弹性。”——《面向对象分析与设计》(第3版)P.236术语介绍——引用《S... 阅读全文

posted @ 2015-10-18 23:31 hahahahahai12 阅读(220) 评论(0) 推荐(0)

<转>PHP设计模式之观察者模式(Observer)
摘要:观察者模式: 又称为发布订阅模式,指当一个主体对象(Subject)发生改变时,依赖它的多个观察对象(Observer)都得到通知(notify)并自动更新(update)。PHP从5.1.0开始提供了SplSubject接口和SplObserver接口,为我们具体应用观察者模式提供了便利。著名的的... 阅读全文

posted @ 2015-10-18 21:01 hahahahahai12 阅读(267) 评论(0) 推荐(0)

<转>JS实现观察者模式
摘要:感谢自学IT网的燕十八老师?1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727... 阅读全文

posted @ 2015-10-10 00:30 hahahahahai12 阅读(146) 评论(0) 推荐(0)

<转>PHP设计模式笔记:使用PHP实现观察者模式
摘要:PHP设计模式笔记:使用PHP实现观察者模式【意图】定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新【GOF95】又称为发布-订阅(Publish-Subscribe)模式、模型-视图(Model-View)模式、源-监听(Source-List... 阅读全文

posted @ 2015-10-07 16:55 hahahahahai12 阅读(192) 评论(0) 推荐(0)

<转>php模式设计之 注册树模式
摘要:在前两篇单例模式和工厂模式后,终于迎来了最后一个基础的设计模式--注册树模式。 什么是注册树模式? 注册树模式当然也叫注册模式,注册器模式。之所以我在这里矫情一下它的名称,是因为我感觉注册树这个名称更容易让人理解。像前两篇一样,我们这 篇依旧是从名字入手。注册树模式通过将对象实例注册到一棵全局的... 阅读全文

posted @ 2015-10-07 16:51 hahahahahai12 阅读(132) 评论(0) 推荐(0)

<转>PHP 设计模式 笔记与总结(6)基础设计模式:工厂模式、单例模式和注册树模式
摘要:三种基础设计模式(所有面向对象设计模式中最常见的三种):① 工厂模式:使用工厂方法或者类生成对象,而不是在代码中直接new在 Common 目录下新建 Factory.php:<?phpnamespace Common;class Factory{ static function create... 阅读全文

posted @ 2015-10-07 16:45 hahahahahai12 阅读(142) 评论(0) 推荐(0)

<转>PHP单例模式 防止克隆方法
摘要:第一种方法:设置魔术方法__clone();访问权限为private第二种方法:若__clone()为公用方法,则在函数中加上自定义错误,如trigger_error('Cloneisnotallow!',E_USER_ERROR);单例模式的三个要点:(1).需要一个保存类的唯一实例的静态成员变量... 阅读全文

posted @ 2015-10-05 00:23 hahahahahai12 阅读(1302) 评论(0) 推荐(0)

<转>PHP源码阅读,PHP设计模式-胖胖的空间
摘要:PHP设计模式备忘录模式(Memento模式)观察者模式(Observer模式)模板方法模式(Template Method模式)命令模式(command模式)合成模式(composite模式)享元模式(flyweight模式)策略模式(strategy模式)状态模式(state模式)适配器模式(a... 阅读全文

posted @ 2015-10-03 15:18 hahahahahai12 阅读(111) 评论(0) 推荐(0)

<转>PHP设计模式漫谈
摘要:PHP也有设计模式?是的,我们经常看到关于Java和.NET平台上设计模式的论述和讲解,其实,在PHP 5对面向对象的支持更加完善之后,设计模式的应用也可引入到PHP中并发挥重要作用。 51CTO以每周一期的形式连载《PHP设计模式漫谈》的系列文章,将以理论与代码实例相结合的方式讲解PHP中的设计模... 阅读全文

posted @ 2015-10-03 15:16 hahahahahai12 阅读(161) 评论(0) 推荐(0)

1

导航