相关历史
Cristopher Alexander是模式之父,他的模式本质是以人为本的设计,其中是关于城镇、房屋和建筑物的设计。总的来说,这中方式对软件设计有很大的影响。1994年,“风尘四侠”(Eric Gamma、Richard Helm、Ralph Johnson和John Vlissides)出版了他们的书《Design Patterns: Elements of Reusable Object-Oriented Software》。这本书包括23个针对面向对象软件设计的模式,这些模式可分为三类:创造型、结构型和行为型。书中定义了软件行业的用语,以下是一些最著名的设计模式:
Creational 创建型模式
Factory method pattern 工厂模式
Singleton pattern 单例模式
Structural 结构型模式
Adapter 适配器模式
Bridge 桥接模式
Composite 组合模式
Decorator 装饰器模式
Facade 外观模式
Proxy 代理模式
Behavioural 行为型模式
Command 命令模式
Iterator 迭代器模式
Observer 观察者模式
Strategy 策略模式
Template method 模板模式
Visitor 访问者模式
一年后,Frank Buschmann、Regine Meunier、Hans Rohnert、Peter Sommerlad和Michael Stal出版了他们非常有影响力的 《Pattern-Oriented Software-Architecture: A System of Patterns》一书,简写为POSA,这本书是系列五部曲的第一部。它在1995年出版,有三类模式:架构模式、设计模式和习惯用法。许多模式都是现在的通用术语:
Architectural Patterns 架构模式
Layers 层模式
Pipes and Filters 管道和过滤器模式
Broker 经纪人模式
Model-View-Controller 模型-视图-控制器模式
Design Patterns 设计模式
Master-Slave 主从模式
Publish-Subscriber 发布和订阅者模式
Idioms 习惯用法
Counted-Pointer 计数器模式
这三个类别有什么区别呢?体系结构模式的重点是整个软件系统,比定义相互作用的设计模式更加抽象。习惯用法是特定编程语言中体系结构或设计模式的实现,也是三者中抽象层次最低的。
POSA系列的第2卷至第5卷都有不同的关注点。他们处理并发”模式和网络对象”(第2卷),“资源管理模式”(第3卷),“分布式计算的模式语言”(第4卷),“模式和模式语言”(第5卷)。本书的同步模式和并行架构部分,深受系列的第2卷的影响。
Last updated