关注我

    我的微信
在线咨询 x
在线咨询
有什么可以帮到你
点击咨询

PHP设计模式汇总

简介简单的说,设计模式就是经典场景的经典解决方法。设计模式提取了共同问题,定义了经过测试的解决方案,并描述了可能的结果。也就是说,设计模式(Patterns)是一些可以在项目中重复使用的解决方案。

一、面向对象中的多态


多态相对封装与继承,理解稍微会更加复杂。更重要的是, 通过PHP多态的不同体现,体会静态语言与动态语言的巨大差异,而这个差异巨大,影响到设计模式。

多态在面向对象中,指某种对象实例的不同表现形态。如西伯利亚虎不能爬树,孟加拉虎可以爬树,那么老虎,到底能否爬树? 


二、什么是设计模式 ?


简单的说,设计模式就是经典场景的经典解决方法

比如:  拍电影时,常用设计模式

感情狗血剧: 误会模式, 某男和女同事,巧合手抓到一起,女朋友在窗外恰好看到。

杀人恐怖片:  被坏人追杀,被害者跑到电梯里,电梯关到还有一道小缝隙时, 坏人的匕首插进电梯缝隙关不上了。

模式是因为语言不够灵活,不能适应复杂的场景,而想出的办法。


设计模式(Design Pattern)代表了最佳的实践,是软件开发人员在软件开发过程中面临一般问题的解决方案,是优秀程序猿的经验结晶。

面向对象是PHP5之后增加的功能,是PHP走向现代语言的一个标志。

在过程式设计时代,PHP以学习成本低、入门快的特点赢得很多WEB开发者的青睐,但同时也限制了PHP的发展。

借鉴Java和C++之后的PHP语言,在增加面向对象特性的同时,还保持着简便易懂的特点。

但是,如果只是使用了PHP的继承特性,并不是面向对象的设计,因为这并不能提高代码的重用性和灵活性。

不论是 PHP、Java还是C++编程语言,在编程的时候,我们所遇到的大部分问题,其实都已经被其他程序员一再的处理了。

设计模式提取了共同问题,定义了经过测试的解决方案,并描述了可能的结果。

也就是说,设计模式(Design Pattern)是一些可以在项目中重复使用的解决方案

但是,设计模式并非像组件那样,能被合并来构建系统的固定的解决方案,它们是解决一般性问题的通用方法

通俗来说,设计模式就是一些编程的套路,不是具体的攻防动作,是为设计更好系统设计的解决方案

面向对象的原则是“组合优于继承”,因为组合可以以多种方式动态的处理任务。

虽然对象的组合会导致代码的可读性下降,但会让系统更加灵活,复用性更高。

设计模式是很多前辈花费大量精力总结的经验,是经过检验的高效的一系列对象组合方式。


三、如何学习设计模式 ?


经典场景 => 经典问题 => 经典解决方法

经典场景一:同学聚会 => 问你工资 => 你会怎么解决,你的解决方案是?

经典场景二:QQ,屌丝,女神 => 屌丝在QQ上问候女神:女神,还没睡 => 你会怎么解决,你的解决方案是?


经典的设计模式:

PHP设计模式汇总(1)—— PHP简单工厂模式

PHP设计模式汇总(2)—— PHP抽象工厂模式

PHP设计模式汇总(3)—— PHP单例模式

PHP设计模式汇总(4)—— PHP观察者模式

PHP设计模式汇总(5)—— PHP责任链模式

PHP设计模式汇总(6)—— PHP装饰器模式

(后续待更新)