[已完成] 翻译《PHP 设计模式》
100

file

翻译进度请见:https://laravel-china.org/docs/php-design-patterns/2018?mode=sections

设计模式不仅代表着更快开发健壮软件的有用方法,而且还提供了以友好的术语封装大型理念的方法。例如,您可以说您正在编写一个提供松散耦合的消息传递系统,也可以说你正在编写名称为观察者 的模式。

用较小的示例展示模式的价值是非常困难的。这往往有些大材小用的意味,因为模式实际上是在大型代码库中发挥作用的。本文不展示大型应用程序,所以您需要思索的是在您自己的大型应用程序中应用示例原理的方法 —— 而不是本文演示的代码本身。这不是说您不应该在小应用程序中使用模式。很多良好的应用程序都以小应用程序为起点,逐渐发展到大型应用程序,所以没有理由不以此类扎实的编码实践为基础。
—— from ibm developerworks

设计模式是 PHP 代码架构师必学的知识,Laravel 中也使用了大量的设计模式,相信深入学习过 Laravel 的同学,对以下很多专有名词如 『依赖注入模式(Dependency Injection)』、『门面模式(Facade)』都不会感觉到陌生:

  1. 创建型
    在软件工程中,创建型设计模式是处理对象创建机制的设计模式,试图以适当的方式来创建对象。对象创建的基本形式可能会带来设计问题,亦或增加了设计的复杂度。创建型设计模式通过控制这个对象的创建方式来解决此问题。
    • 抽象工厂模式(Abstract Factory)
    • 建造者模式(Builder)
    • 工厂方法模式(Factory Method)
    • 多例模式(Multiton)
    • 对象池模式(Pool)
    • 原型模式(Prototype)
    • 简单工厂模式(Simple Factory)
    • 单例模式(Singleton)
    • 静态工厂模式(Static Factory)
  2. 结构型
    在软件工程中,结构型设计模式是通过识别实体之间关系来简化设计的设计模式。
    • 适配器模式(Adapter)
    • 桥梁模式(Bridge)
    • 组合模式(Composite)
    • 数据映射模式(Data Mapper)
    • 装饰模式(Decorator)
    • 依赖注入模式(Dependency Injection)
    • 门面模式(Facade)
    • 流接口模式(Fluent Interface)
    • 享元模式(Flyweight)
    • 代理模式(Proxy)
    • 注册模式(Registry)
  3. 行为型
    在软件工程中,行为设计模式是识别对象之间的通用通信模式并实现这些模式的设计模式。 通过这样做,这些模式增加了执行此通信的灵活性。
    • 责任链模式(Chain Of Responsibilities)
    • 命令行模式(Command)
    • 迭代器模式(Iterator)
    • 中介者模式(Mediator)
    • 备忘录模式(Memento)
    • 空对象模式(Null Object)
    • 观察者模式(Observer)
    • 规格模式(Specification)
    • 状态模式(State)
    • 策略模式(Strategy)
    • 模板方法模式(Template Method)
    • 访问者模式(Visitor)
  4. 更多类型
    • 委托模式(Delegation)
    • 服务定位器模式(Service Locator)
    • 资源库模式(Repository)
    • 实体属性值模式(EAV 模式)

翻译规范和对照表:请见这里

已于 2018 年 3 月 26 日翻译完毕,参与用户 19 人,详细列表请见 参与译者


Practice makes perfect.

本帖已被设为精华帖!
本帖由 Summer 于 5个月前 取消置顶
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 5

牛,一些知道,一些没听过。后续会有详细文章吗?

6个月前
chenBJ

期待如果能吧这些研究透彻我感觉php应该学到家了

6个月前

想要离线版可以放kindle里看

5个月前

@tinyeses ireader 可以吗?

5个月前

@bestcyt ireader 支持 epub 吧,

5个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!