優(yōu)點:一個較低的層可以被不同的層所使用。層使標(biāo)準化更容易,因為我們可以清楚地定義級別??梢栽趯觾?nèi)進行更改,而不會影響其他層。
缺點:不是普遍適用的。在某些情況下,某些層可能會被跳過。
二. 客戶端-服務(wù)器模式優(yōu)點:很好地建立一組服務(wù),用戶可以請求他們的服務(wù)。
缺點:請求通常在服務(wù)器上的單獨線程中處理。由于不同的客戶端具有不同的表示,進程間通信會導(dǎo)致額外開銷。
三. 主從設(shè)備模式優(yōu)點:準確性——將服務(wù)的執(zhí)行委托給不同的從設(shè)備,具有不同的實現(xiàn)。
缺點:從設(shè)備是孤立的:沒有共享的狀態(tài)。主-從通信中的延遲可能是一個問題,例如在實時系統(tǒng)中。這種模式只能應(yīng)用于可以分解的問題。
四. 管道-過濾器模式優(yōu)點:展示并發(fā)處理。當(dāng)輸入和輸出由流組成時,過濾器在接收數(shù)據(jù)時開始計算。輕松添加過濾器,系統(tǒng)可以輕松擴展。過濾器可重復(fù)使用。 可以通過重新組合一組給定的過濾器來構(gòu)建不同的管道。
缺點:效率受到慢的過濾過程的限制。從一個過濾器移動到另一個過濾器時的數(shù)據(jù)轉(zhuǎn)換開銷。
五. 代理模式優(yōu)點:允許動態(tài)更改、添加、刪除和重新定位對象,這使開發(fā)人員的發(fā)布變得透明。
缺點:要求對服務(wù)描述進行標(biāo)準化。
六. 點對點模式優(yōu)點:支持分散式計算。對任何給定節(jié)點的故障處理具有強大的健壯性。在資源和計算能力方面具有很高的可擴展性。
缺點:服務(wù)質(zhì)量沒有保證,因為節(jié)點是自愿合作的。是很難得到保證的。性能取決于節(jié)點的數(shù)量。
七. 事件總線模式優(yōu)點:新的發(fā)布者、訂閱者和連接可以很容易地添加。對高度分布式的應(yīng)用程序有效。
缺點:可伸縮性可能是一個問題,因為所有消息都是通過同一事件總線進行的。
優(yōu)點:可以輕松地擁有同一個模型的多個視圖,這些視圖可以在運行時連接和斷開。
缺點:增加復(fù)雜性??赡軐?dǎo)致許多不必要的用戶操作更新。
九. 黑板模式優(yōu)點:很容易添加新的應(yīng)用程序。擴展數(shù)據(jù)空間的結(jié)構(gòu)很簡單。
缺點:修改數(shù)據(jù)空間的結(jié)構(gòu)非常困難,因為所有應(yīng)用程序都受到了影響。可能需要同步和訪問控制。
十. 解釋器模式優(yōu)點:高度動態(tài)的行為是可行的。對終端用戶編程性提供好處。提高靈活性,因為替換一個解釋程序很容易。
缺點:由于解釋語言通常比編譯后的語言慢,因此性能可能是一個問題。