声明:本系列博客参考资料《大话设计模式》,作者程杰。
常见的面向对象设计模式大约有23种,但是自从接触PHP后,渐渐发现常见的设计模式好像少了很多,网络上的资料也比较少,身边的PHP同事们有的甚至没有听说过设计模式,这也有可能是PHP的发展所带来的,因为PHP对面向对象支持的比较晚,好多PHP程序员还按照面向过程的思想写代码。于是,我决定把原来用C#写的面向对象设计模式用PHP改写。
什么是设计模式?
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。
设计模式的优点:
1).复用解决方案: 设计模式本身就是对某一类问题的通用解决方案,是更高级别的复用,已经超出了代码复用.
2).确定通用术语:
开发中的交流和协作都需要共同的词汇其础和对问题的共识. 当你有想表达却又表达不清楚的设计思路,即使表达出来也会被同事误解的时候,设计模式就显出沟通的优势了。
3).代码更易于修改与维护。
因为设计模式都是久经考验的解决方案,它们的结构都是经过长期的发展形成的,善于应对变化,设计模式本身也是对变化点的封装。
4).模式有助于提高思考层次。学习模式后,就算不用模式中的方法,也会更好的采取更好的策略去解决问题。
在接下来的篇幅里会详细介绍PHP面向对象设计模式,本系列博客以设计模式的原理为核心,列举最简单的例子,让只要有一点面向对象基础的读者都能看明白。
分享一个我在公司内部培训的PPT,23种面向对象设计模式,实例语言为C#,源代码会在本系列教程结束后奉上: