background image

 

软件的架构与设计模式之模式的种类

  代码模式或成例(Coding Pattern   

或 Idiom)

  代码模式(或成例)是较低层次的模式,并与编程语言密切相关。代码模
式描述怎样利用一个特定的编程语言的特点来实现一个组件的某些特定的方
面或关系。

  较为著名的代码模式的例子包括双检锁(Double-Check Locking)模式
等。

  设计模式(Design Pattern)

  一个设计模式提供一种提炼子系统或软件系统中的组件的,或者它们之
间的关系的纲要设计。设计模式描述普遍存在的在相互通讯的组件中重复出现
的结构,这种结构解决在一定的背景中的具有一般性的设计问题。

  设计模式常常划分成不同的种类,常见的种类有:

  创建型设计模式,如工厂方法(Factory Method)模式、抽象工厂
(Abstract Factory)模式、原型(Prototype)模式、单例(Singleton)模
式,建造(Builder)模式等

  结构型设计模式,如合成(Composite)模式、装饰(Decorator)模式、
代理(Proxy)模式、享元(Flyweight)模式、门面(Facade)模式、桥梁
(Bridge)模式等

  行为型模式,如模版方法(Template Method)模式、观察者
(Observer)模式、迭代子(Iterator)模式、责任链(Chain of 
Responsibility)模式、备忘录(Memento)模式、命令(Command)模式、
状态(State)模式、访问者(Visitor)模式等等。
以上是三种经典类型,实际上还有很多其他的类型,比如 Fundamental 型 、
Partition 型,Relation 型等等

  设计模式在特定的编程语言中实现的时候,常常会用到代码模式。比如单
例(Singleton)模式的实现常常涉及到双检锁(Double-Check Locking)
模式等。

  架构模式(Architectural Pattern)

  一个架构模式描述软件系统里的基本的结构组织或纲要。架构模式提供一
些事先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则
和指南。有些作者把这种架构模式叫做系统模式[STELTING02]。