架構(gòu)的模式
有的時(shí)候,為了解決某些特殊的問題,對架構(gòu)元素進(jìn)行新的組合。在后來時(shí)間的長河中,人們發(fā)現(xiàn)有些架構(gòu)是非常有用的,并且可以被應(yīng)用于多個(gè)領(lǐng)域,于是這些架構(gòu)就被記錄和傳播。這樣的架構(gòu)就被稱架構(gòu)模式,架構(gòu)模式會(huì)對系統(tǒng)面臨的某些問題提供一系列的解決策略。
一個(gè)架構(gòu)模式刻畫了元素的類型和這些元素在實(shí)際解決問題時(shí)的交互形式,可以根據(jù)所使用架構(gòu)元素的類型對模式進(jìn)行定義。
- 常用的模塊類型的模式
- 層模式(Layered pattern)
- 在層模式中,軟件元素之間的聯(lián)系是嚴(yán)格單向的。 層是一系列具有依賴關(guān)系的功能的集合。在嚴(yán)格的層結(jié)構(gòu)中,一個(gè)層只能調(diào)用處于它嚴(yán)格下方的層所提供的服務(wù)。在實(shí)際應(yīng)用中,使用這種架構(gòu)可以降低結(jié)構(gòu)間的依賴。層通常是抽象的,即將詳細(xì)的實(shí)現(xiàn)隱藏在層內(nèi),對外只提供服務(wù),這樣有利于可移植性。
- 層模式(Layered pattern)
- 常用的組件連接件模式(component-and-connector)
- 共享數(shù)據(jù)(倉庫)模式(shared-data or repository pattern)
- 在這個(gè)模式中,創(chuàng)建組件和連接件用于訪問持續(xù)存在的數(shù)據(jù),數(shù)據(jù)庫通常作為倉庫存在,而連接件是管理數(shù)據(jù)庫中數(shù)據(jù)的協(xié)議,如SQL。
- CS模式(client-server pattern)
- 在這個(gè)模式中,組件是client和server,連接件在系統(tǒng)工作時(shí),client和sever間使用的共同協(xié)議和傳遞的數(shù)據(jù)。
- 共享數(shù)據(jù)(倉庫)模式(shared-data or repository pattern)
- 常用的分配模式
- 多級(jí)模式(Multi-tier pattern)
- 這個(gè)模式描述了如何將一個(gè)系統(tǒng)中的組件分配到不同的硬件和軟件的子系統(tǒng)中,并使用連接介質(zhì)將它們連接,這個(gè)結(jié)構(gòu)明確定義了通用的部署(軟件-硬件間的分配)結(jié)構(gòu)。
- 解決方案支援中心和平臺(tái)(Competence center and platform)
- 這個(gè)模式明確定義了開發(fā)一個(gè)軟件系統(tǒng)的工作分配結(jié)構(gòu)。從解決方案支援中心的角度看,不同的站點(diǎn)的工作分配按照該站點(diǎn)的能力和專家領(lǐng)域決定,比如用戶界面的設(shè)計(jì)工作就會(huì)分配給那些具有可用性工程專家的站點(diǎn)。從平臺(tái)的角度看,某一個(gè)站點(diǎn)被分配了開發(fā)軟件產(chǎn)品線上的一個(gè)可重用核心組件的任務(wù),其余的站點(diǎn)就通過調(diào)用這些可重用核心組件來開發(fā)應(yīng)用。
- 多級(jí)模式(Multi-tier pattern)