PHP设计模式——概述

声明:本系列博客参考资料《大话设计模式》,作者程杰。

常见的面向对象设计模式大约有23种,但是自从接触PHP后,渐渐发现常见的设计模式好像少了很多,网络上的资料也比较少,身边的PHP同事们有的甚至没有听说过设计模式,这也有可能是PHP的发展所带来的,因为PHP对面向对象支持的比较晚,好多PHP程序员还按照面向过程的思想写代码。于是,我决定把原来用C#写的面向对象设计模式用PHP改写。

什么是设计模式?

设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。

设计模式的优点:

1).复用解决方案: 设计模式本身就是对某一类问题的通用解决方案,是更高级别的复用,已经超出了代码复用.

2).确定通用术语:
开发中的交流和协作都需要共同的词汇其础和对问题的共识. 当你有想表达却又表达不清楚的设计思路,即使表达出来也会被同事误解的时候,设计模式就显出沟通的优势了。

3).代码更易于修改与维护。
因为设计模式都是久经考验的解决方案,它们的结构都是经过长期的发展形成的,善于应对变化,设计模式本身也是对变化点的封装。

4).模式有助于提高思考层次。学习模式后,就算不用模式中的方法,也会更好的采取更好的策略去解决问题。

在接下来的篇幅里会详细介绍PHP面向对象设计模式,本系列博客以设计模式的原理为核心,列举最简单的例子,让只要有一点面向对象基础的读者都能看明白。

分享一个我在公司内部培训的PPT,23种面向对象设计模式,实例语言为C#,源代码会在本系列教程结束后奉上:

23种常用面向对象设计模式

时间: 2024-10-06 18:21:40

PHP设计模式——概述的相关文章

设计模式-概述

设计模式概述 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案. 设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了重用代码.让代码更容易被他人理解.保证代码可靠性. 面向对象设计模式 面向对象设计模式描述了类与相互通信的对象之间的组织关系.目的是应对变化.提高复用.减少改变. 对象 1.从概念层面讲,对象是某种拥有职责的抽象: 2.从规格层面讲,对象是一系列可以被其他对象使用的公共接口: 3.从语言实现层面来看,对象封装了代码和数据(也

设计模式概述【整理】

设计模式不是很快的提高你的编码能力,设计模式的学习,旨在避免重复编码,减少劳动量.学习设计模式,对提高编写高效代码,大有裨益.学习设计模式,首先引入设计原则. 设计原则 设计模式的核心原则是:"开-闭"原则(  Open - Closed Principle 缩写:OCP  ),一切的一切都是围绕着"开-闭"原则展开的.. 意思是,在一个系统中,对于扩展是开放的,对于修改是关闭的,一个好的系统是在不修改源代码的情况下,可以扩展你的功能..而实现开闭原则的关键就是抽象

设计模式概述 + 分类

A:设计模式概述 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.        使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性以及代码的结构更加清晰.        B:设计模式分类        创建型模式(创建对象的):    单例模式.抽象工厂模式.建造者模式.工厂模式.原型模式.        行为型模式(对象的功能):    适配器模式.桥接模式.装饰模式.组合模式.外观模式.享元模式.代理模式.  

设计模式概述与原则

一 . 设计模式概述 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型 模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式. 组合模式.享元模式. 行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任 链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 具体如下: 其中创建型有: 一.Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问

java 28 - 1 设计模式 之 面向对象思想设计原则和模版设计模式概述

在之前的java 23 中,了解过设计模式的单例模式和工厂模式.在这里,介绍下设计模式 面向对象思想设计原则 在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设计原则 单一职责原则 开闭原则 里氏替换原则 依赖注入原则 接口分离原则 迪米特原则 单一职责原则 其实就是开发人员经常说的"高内聚,低耦合" 也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个.在设计模式中,所有的设计模式都遵循这一原则. 开闭原则 核

iOS设计模式 - 概述

最近可自由安排的时间比较多, iOS应用方面, 没什么好点子, 就先放下, 不写了.花点时间学学设计模式. 之后将会写一系列博文, 记录设计模式学习过程. 当然, 因为我自己是搞iOS的, 所以之后设计代码部分, 将尽量与objective-c相结合. iOS设计模式 - 概述           by Colin丶 转载请注明出处:              http://blog.csdn.net/hitwhylz/article/details/40372113 一.定义 设计模式(Des

PHP设计模式概述

PHP设计模式概述 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的结构一样. 为什么要提倡设计模式 (Design Pattern)呢? 根本原因是为了代码复用,增加可维护性. 那么怎么才能实现代码复用呢?面向对象有几个原则:开闭原则(Open Cl

设计模式@第4章:设计模式概述

第4章:设计模式概述 (一)掌握设计模式的层次 1) 第 1 层:刚开始学编程不久,听说过什么是设计模式 2) 第 2 层:有很长时间的编程经验,自己写了很多代码,其中用到了设计模式,但是自己却不知道 3) 第 3 层:学习过了设计模式,发现自己已经在使用了,并且发现了一些新的模式挺好用的 4) 第 4 层:阅读了很多别人写的源码和框架,在其中看到别人设计模式,并且能够领会设计模式的精妙和带来的好处. 5) 第 5 层:代码写着写着,自己都没有意识到使用了设计模式,并且熟练的写了出来. (二)设

【OOAD】设计模式概述

模式的诞生与定义 模式起源于建筑业而非软件业模式(Pattern)之父——美国加利佛尼亚大学环境结构中心研究所所长Christopher Alexander博士<A Pattern Language: Towns, Buildings, Construction>——253个建筑和城市规划模式模式Context(模式可适用的前提条件)Theme或Problem(在特定条件下要解决的目标问题)Solution(对目标问题求解过程中各种物理关系的记述) Alexander给出了关于模式的经典定义: