PHP设计模式之结构模式的深入解析


Posted in PHP onJune 13, 2013

结构模式之间有许多相似之处,因为在对象模型结构中存在几种关系:类之间的继承和实现,加上对象组合,这些是PHP设计模式的主要目的。

对象组合的最大优势在于可以在运行时基于配置建立起一个关系,并不用修改实际的代码,它是类继承和接口实现需要的一个操作。实际上,你完全可以通过修改对象之间而非类之间的链接定义一个应用程序的功能,这是设计的一部分。
结构模式清单

       适配器-桥接-外观(Adapter-Bridge-Facade)

       这三个模式的目标是竞争耦合:
       ◆适配器模式(Adapter)使用不同的接口连接对象;
       ◆桥接模式(Bridge)将一个M抽象层和一个N实现层分离成N+M类,代替M*N用法;
       ◆外观模式(Facade)创建一个新的统一的界面来访问子系统。

       复合-装饰-代理(Composite-Decorator-Proxy)

       这三个模式维护相同的对象接口,它们透明地添加正交关注,客户端不会察觉:
       ◆复合模式为其它对象增加容器组织层次结构,并将树作为其它树的叶子进行重用;
       ◆装饰模式通过拦截方法授权添加行为,避免引入大量的子类;
       ◆代理模式给一个还不存在或很难访问的对象授权操作。

       最后,享元模式(Flyweight)是一个无身份的ValueObjects标准实现。

PHP 相关文章推荐
新版PHP将向Java靠拢
Oct 09 PHP
PHP4实际应用经验篇(4)
Oct 09 PHP
php中判断文件空目录是否有读写权限的函数代码
Aug 07 PHP
PHP之短标签开启设置
Jun 17 PHP
php获取当前时间的毫秒数的方法
Jan 26 PHP
php+memcache实现的网站在线人数统计代码
Jul 04 PHP
php实现插入排序
Mar 29 PHP
Yii实现自动加载类地图的方法
Apr 01 PHP
php给图片加文字水印
Jul 31 PHP
PHP经典面试题之设计模式(经常遇到)
Oct 15 PHP
无需数据库在线投票调查php代码
Jul 20 PHP
php提供实现反射的方法和实例代码
Sep 17 PHP
PHP设计模式之命令模式的深入解析
Jun 13 #PHP
深入Memcache的Session数据的多服务器共享详解
Jun 13 #PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
Jun 13 #PHP
判断php数组是否为索引数组的实现方法
Jun 13 #PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 #PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 #PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
Jun 13 #PHP
You might like
php中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
js 深拷贝函数
2008/12/04 Javascript
javascript css styleFloat和cssFloat
2010/03/15 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
谈谈JavaScript自定义回调函数
2015/10/18 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
浅谈javascript中的constructor
2016/06/08 Javascript
ionic中列表项增加和删除的实现方法
2017/01/22 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
2017/11/23 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
JS实现多选框的操作
2020/06/24 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
python多线程抓取天涯帖子内容示例
2014/04/03 Python
python装饰器与递归算法详解
2016/02/18 Python
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
2016/12/14 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
python语言基本语句用法总结
2019/06/11 Python
python集合是否可变总结
2019/06/20 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
python3中数组逆序输出方法
2020/12/01 Python
django中cookiecutter的使用教程
2020/12/03 Python
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
校园报刊亭的创业计划书
2014/01/02 职场文书
大学军训自我鉴定大全
2014/09/18 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书