PHP 设计模式基础1

Posted by Nathan on 2018-11-26

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

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

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

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

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

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

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

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

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

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

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

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

市面上的设计模式介绍大部分是Java语言,本文特地整理一份PHP版的设计模式

共12种经典的设计模式:

基础

  • UML 类图
  • 设计原则

    创建型模式

  • 简单工厂模式
  • 工厂模式
  • 抽象工厂模式
  • 单例模式

    结构型模式

  • 适配器模式
  • 组合模式
  • 外观模式
  • 代理模式

    行为型模式

  • 命令模式
  • 迭代器模式
  • 策略模式
  • 观察者模式

    总结