[好文分享] 设计模式详解及 PHP 实现

文章地址: http://yansu.org/2014/04/19/design-pattern...

在软件开发过程中,一个功能的实现方式多种多样,不同方法的可扩展性、可维护性以及复用性都是不一样的。随着一个人对自己项目代码的要求增加,他会逐渐思考和实践出自己的一套方法或者思想,这种方法或思想决定了他设计出的架构或者编写出的代码的质量优劣。设计模式就属于这样一种经验的积累,是由大量优秀的工程师或者架构师总结和提炼的精华,学习好设计模式等于让我们站在了巨人的肩膀上,从一个高的起点出发,可以避免走很多弯路。

设计模式的使用一定是根据场景来选择的,而且设计模式的实现方式也不是固定的,我们一定要在理解现有设计模式的基础上,根据自己实际的情况不断实践不断理解。就像所谓的《泡妞大全》,读千万遍都不如实践一次来的实际。

如果你对设计模式完全没有感觉,那么去好好写一个类库,或者一个简单的MVC框架,这个过程会让你感觉到自己缺失的部分。

作者在文章中共介绍了23种设计模式以及 PHP 的实现。
  • 工厂方法模式(Factory method pattern)
  • 抽象工厂模式(Abstract factory pattern)
  • 单例模式(Singleton pattern)
  • 建造者模式(Builder pattern)
  • 原型模式(Prototype pattern)
  • 结构型模式(Structural pattern)
  • 适配器模式(Adapter pattern)
  • 桥接模式(Bridge pattern)
  • 合成模式(Composite pattern)
  • 装饰器模式(Decorator pattern)
  • 门面模式(Facade pattern)
  • 代理模式(Proxy pattern)
  • 享元模式(Flyweight Pattern)
  • 行为型模式(Behavioral pattern)
  • 策略模式(Strategy pattern)
  • 模板方法模式(Template method pattern)
  • 观察者模式(Observer pattern)
  • 迭代器模式(Iterator pattern)
  • 责任链模式(Chain of responsibility pattern)
  • 命令模式(Command pattern)
  • 备忘录模式(Memento pattern)
  • 状态模式(State pattern)
  • 访问者模式(Visitor pattern)
  • 中介者模式(Mediator pattern)
  • 解释器模式(Interpreter pattern)
本帖已被设为精华帖!
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 7
mouyong

默默说一句,设计模式,在 laravel 学院中 有代码及实现的。http://laravelacademy.org/resources/design...

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!