概念
设计模式是软件设计中常见问题的通用可重用解决方案,它与具体的语言无关。在软件工程中,设计模式是软件设计中,给定上下文中常见问题的通用可重用解决方案。
设计模式不是可以直接转换为代码的已完成设计,它只是一种在许多不同情况下用于解决问题的表述或者模板。
面向对象的设计模式通常显示类或对象之间的关系和交互,并不指定相关的最终应用程序类或者对象。 很多模式只意味着面向对象,或者更为普遍的可变状态,因此可能不适用于数据不可变或被视为不可变的函数式编程语言。
设计模式通常使用统一标记语言(UML) 来描述 - UML用一个类图显示构成设计模式的组件之间的关系。 此外,UML具有大量的富有表达性的词汇,有助于描述模式的细节。
四人帮(Gang of Four)设计模式
创建型模式: abstract-factory
builder
factory-method
prototype-pattern
singleton
结构型模式: adapter
bridge
composite
decorator
facade
flyweight-pattern
proxy-pattern
行为型模式:chain-of-responsibility
command-pattern
interpreter-pattern
iterator
mediator
memento
observer-pattern
state
strategy-pattern
template-method-pattern
visitor
并发模式
locking
double-checked-locking
threadpool
scheduler
reactor
其他模式
dependency-injection
front-controller
lazy-initialization
module
model-view-controller
multiton
null-object-pattern
parameter-object
unit-of-work