CODE, ARCHITECTURE & AI

设计模式.

22 篇记录保持好奇,慢慢积累

代理模式(Proxy)和PHP的反射功能

代理模式(Proxy)和PHP的反射功能 本文包括以下内容: 代理模式概述 代理模式常规示例 使用PHP的反射功能实现多代理 正文 模式意图 :为其他对象提供一种代理以控制对这个对象的访问[GOF95] 代理模式是对象的结构模式,代理模式给某一个对象提供一个代理对象,并由此代理对象控制对原代理对象的引用。代理模式不应该让用户感觉到代理的存在,所以代理对象和原…
继续阅读 ↗

面向模式的软件架构--分布式计算的模式语言读后感

数个早晨,捧着这本书,一个人 终于看完了,在痛苦中煎熬,回头望去,却不知所得。只看过GOF的23个模式及其它一些书籍中不成系统的介绍。 仰望这一望无际的模式,作者对模式信手拈来,娓娓而谈,不得不叹服。至此,不敢写总结,只能写读后感,权当慰藉。 每种模式是记录了一个在特定环境下不断重复发生的问题以及相应的解决方案。 也许一种实现方法很常见,或者说已经用过,这是…
继续阅读 ↗

PHP设计模式笔记:使用PHP实现观察者模式

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

PHP设计模式笔记:使用PHP实现模板方法模式

PHP设计模式笔记:使用PHP实现模板方法模式 【意图】 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以在不改变一个算法的结构的情况下重定义该算法的某些特定的步骤【GOF95】 【模板方法模式结构图】 [caption id="attachment_985" align="aligncenter" widt…
继续阅读 ↗

PHP设计模式笔记:使用PHP实现命令模式

PHP设计模式笔记:使用PHP实现命令模式 【意图】 将一个请求封装为一个对象,从而使用你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。 可变的方面是:何时,怎样满足一个请求 命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。 请求的一方发出请求要求执行一个操作;接收的一方收到请求,并…
继续阅读 ↗

PHP设计模式笔记:使用PHP实现合成模式

PHP设计模式笔记:使用PHP实现合成模式 【意图】 将对象组合成树形结构以表示"部分-整体"的层次结构。Composite使用户对单个对象和组合对象的使用具有一致性。 Composite变化的是一个对象的结构和组成 【合成模式中主要角色】 抽象组件(Component)角色:抽象角色,给参加组合的对象规定一个接口。在适当的情况下,实现所有类共有接口的缺省行…
继续阅读 ↗