软件体系结构C2风格
首先C2風格是最常用的一種軟件體系結(jié)構(gòu)風格。(下圖為一個C2風格的架構(gòu)圖)
? ? C2是一種基于構(gòu)件和消息的架構(gòu)風格,可用于創(chuàng)建靈活的、可伸縮的軟件系統(tǒng)。一個C2構(gòu)架可以看成是按照一定規(guī)則由連接件連接的許多組件組成的層次網(wǎng)絡:系統(tǒng)中的構(gòu)件和連接件都有一個“頂部”和“底部”;一個構(gòu)件的“頂部”或“底部”可以連接到一個連接件的“底部”或“頂部”;對于一個連接件,和其相連的構(gòu)件或連接件的數(shù)量沒有限制,但是構(gòu)件和構(gòu)件之間不能直接相連。
? ? C2風格具有以下特點: (1)系統(tǒng)中的構(gòu)件可實現(xiàn)應用需求,并能將任意復雜度的功能封裝在一起;(2)所有構(gòu)件之間的通訊是通過以連接件為中介的異步消息交換機制來實現(xiàn)的; ?(3)構(gòu)件相對獨立,構(gòu)件之間依賴性較少。系統(tǒng)中不存在某些構(gòu)件將在同一地址空間內(nèi)執(zhí)行,或某些構(gòu)件共享特定控制線程之類的相關(guān)性假設
? ? C2架構(gòu)風格最重要的特性就是“底層無關(guān)性”,這在構(gòu)件的可替代性和可重用性方面具有顯著的作用;另外,C2架構(gòu)引入了“事件轉(zhuǎn)化”的概念,域解釋器把構(gòu)件的請求轉(zhuǎn)化為接收方能夠接收的特定形式,同時也把通知轉(zhuǎn)化為該構(gòu)件能夠理解的形式。
? ? 我們要設計的是一個教務點名軟件,其中分為3方,學生、教師、以及教務。每方之前可以互相通信,比如學生可以給教師留言、教務可以給學生通知等等。每一方又有不同的功能。根據(jù)我們的設計,C2架構(gòu)風格對我們的軟件并不適用。C2架構(gòu)風格可以概括為:通過連接件綁定在一起的并行構(gòu)件網(wǎng)絡。系統(tǒng)中必須要有構(gòu)件和連接件。對我們的系統(tǒng)來說,構(gòu)件和連接件不好確定。我覺得C2更適合那種分工明確的軟件,每個構(gòu)件有具體的分工。而且我們設計的系統(tǒng)3方之間可以相互通信,如果我們把教師、學生、教務封裝成3個構(gòu)件 按照C2的風格,這3方之間無法直接連接,必須通過連接件,所以有多少互動的功能就要設計多少連接件,造成系統(tǒng)復雜度提升。所以我覺得我們的軟件不太適合C2風格。
轉(zhuǎn)載于:https://www.cnblogs.com/lym0816/p/5423123.html
總結(jié)
以上是生活随笔為你收集整理的软件体系结构C2风格的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Yii 框架学习--01 框架入门
- 下一篇: 第二章 rabbitmq在mac上的安装