在做軟體架構設計時,根據不同的抽象層次可分為三種不同層次的模式:架構模式(architectural pattern)、設計模式(design pattern)、**模式(coding pattern)。
乙個架構模式描述軟體系統裡的基本的結構組織或綱要。 架構模式提供一些事先定義好的子系統,指定它們的責任,並給出把它們組織在一起的法則和指南。稱之為系統模式。
架構模式常常劃分成如下的幾種:
一、 模組結構(from mud to structure)型。幫助架構師將系統合理劃分,避免形成乙個物件的海洋。 包括 layers (分層)模式、 blackboard (黑板)模式、 pipes/filters (管道/過濾器)模式等。
二、分散系統(distributed systems)型。為分布式系統提供完整的架構設計,包 括像 broker(中介)模式等。
三、人機互動(interactive systems)型,支援包含有人機互動介面的系統的架構設計,例子包括 mvc(model-view-controller)模式、pac (presentation-abstraction-control)模式等。
四、 adaptable systems 型, 支援應用系統適應技術的變化、 軟體功能需求的變化。 如 reflection(反射)模式、microkernel(微核)模式等。
乙個設計模式提供一種提煉子系統或軟體系統中的元件的, 或者它們之間的關係的綱要設計。設計模式描述普遍存在的在相互通訊的元件中重複出現的結構,這 種結構解決在一定的背景中的具有一般性的設計問題。 設計模式常常劃分成不同的種類,常見的種類有:
建立型設計模式,如(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)模式等。
**模式(或成例)是較低層次的模式,並與程式語言密切相關。**模式描述怎樣利用乙個特定的程式語言的特點來實現乙個元件的某些特定的方面或關係。 較為著名的**模式的例子包括雙檢鎖(double-check locking)模式等
軟體架構模式的種類
在做軟體架構設計時,根據不同的抽象層次可分為三種不同層次的模式 架構模式 architectural pattern 設計模式 design pattern 模式 coding pattern 架構模式是乙個系統的高層次策略,涉及到大尺度的元件以及整體性質和力學。架構模式的好壞可以影響到總體布局和框...
軟體架構模式的種類
在做軟體架構設計時,根據不同的抽象層次可分為三種不同層次的模式 架構模式 architectural pattern 設計模式 design pattern 模式 coding pattern 架構模式是乙個系統的高層次策略,涉及到大尺度的元件以及整體性質和力學。架構模式的好壞可以影響到總體布局和框...
軟體架構模式的種類
分類 架構設計 2012 05 16 16 06 33人閱讀收藏 舉報 目錄 架構模式 architectural pattern 設計模式 design pattern 模式 coding pattern 在做軟體架構設計時,根據不同的抽象層次可分為三種不同層次的模式 架構模式 architect...