軟件體系結構C2風格


首先C2風格是最常用的一種軟件體系結構風格。(下圖為一個C2風格的架構圖)

    C2是一種基於構件和消息的架構風格,可用於創建靈活的、可伸縮的軟件系統。一個C2構架可以看成是按照一定規則由連接件連接的許多組件組成的層次網絡:系統中的構件和連接件都有一個“頂部”和“底部”;一個構件的“頂部”或“底部”可以連接到一個連接件的“底部”或“頂部”;對於一個連接件,和其相連的構件或連接件的數量沒有限制,但是構件和構件之間不能直接相連。

    C2風格具有以下特點: (1)系統中的構件可實現應用需求,並能將任意復雜度的功能封裝在一起;(2)所有構件之間的通訊是通過以連接件為中介的異步消息交換機制來實現的;  (3)構件相對獨立,構件之間依賴性較少。系統中不存在某些構件將在同一地址空間內執行,或某些構件共享特定控制線程之類的相關性假設

    C2架構風格最重要的特性就是“底層無關性”,這在構件的可替代性和可重用性方面具有顯著的作用;另外,C2架構引入了“事件轉化”的概念,域解釋器把構件的請求轉化為接收方能夠接收的特定形式,同時也把通知轉化為該構件能夠理解的形式。

    我們要設計的是一個教務點名軟件,其中分為3方,學生、教師、以及教務。每方之前可以互相通信,比如學生可以給教師留言、教務可以給學生通知等等。每一方又有不同的功能。根據我們的設計,C2架構風格對我們的軟件並不適用。C2架構風格可以概括為:通過連接件綁定在一起的並行構件網絡。系統中必須要有構件和連接件。對我們的系統來說,構件和連接件不好確定。我覺得C2更適合那種分工明確的軟件,每個構件有具體的分工。而且我們設計的系統3方之間可以相互通信,如果我們把教師、學生、教務封裝成3個構件 按照C2的風格,這3方之間無法直接連接,必須通過連接件,所以有多少互動的功能就要設計多少連接件,造成系統復雜度提升。所以我覺得我們的軟件不太適合C2風格。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM