幾種典型的架構模式:
在開發系統軟件時多用架構模式:
1、分層(Layer):從不同的層次來觀察系統,處理不同層次問題的對象被封裝到不同的層中。
2、管道和過濾器(Pipes and Filters):用數據流的觀點來觀察系統。整個系統由一些管道和過濾器組成,需要處理的數據同管道傳送給每一個過濾器,每個過濾器就是一個處理步驟。每個過濾器可以單獨修改,功能單一,并且它們之間的順序可以進行配置。但數據通過了所有的過濾器后,就完成了所有的處理操作,得到了最終的處理結果。
一個典型的管道/過濾器體系結構的例子是以Unix shell編寫的程序。Unix既提供一種符號,以連接各組成部分(Unix的進程),又提供某種進程運行時機制以實現管道。另一個著名的例子是傳統的編譯器。傳統的編譯器一直被認為是一種管道系統,在該系統中,一個階段(包括詞法分析、語法分析、語義分析和代碼生成)的輸出是另一個階段的輸入。

3、黑板(Blackboard):在這種架構中,有兩種不同的構件:一種是表示當前狀態中心數據結構;另一種是一種相互獨立的構件,這些構件對中心數據進行操作。這種架構主要用于數據庫和人工智能系統的開發。
在開發分布式軟件時多用架構模式:
1、經紀人(Broker):客戶和服務器通過一個經紀人部件進行通信,經紀人負責協調客戶和服務器之間的操作,并且為客戶和服務器發送請求和結果信息。
2、客戶/服務器(Client/Server):系統分為客戶和服務器,服務器一直處于偵聽的狀態,客戶主動連接服務器,每個服務器可以為多個客戶服務
3、點對點(Peer to Peer):系統中的節點都處于平等的地位,每個節點都可以連接其他節點。在這種架構中,一般需要由一個中心服務器完成發現和管理節點的操作。ICQ以及Web Service技術的大多數應用,都是典型的點對點結構。
開發交互軟件時多用架構模式:
1、模型-視圖-控制器(Model-View-Controller):當應用程序的用戶界面非常復雜,且關于用戶界面的需求很容易變化時,我們可以把交互類型的軟件抽象成模型、視圖和控制器這三類組件單元,這種抽象可以很好地分離用戶界面和業務邏輯,適應變化的需求。大多數現代交互軟件都在一定程度上符合這一架構模型的特點。

2、顯示-抽象-控制(Presentation-Abstraction-COntrol):這是MVC的另一種變形。
posted on 2009-07-23 10:16
longshen 閱讀(475)
評論(0) 編輯 收藏 引用 所屬分類:
程序員