欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:5種常見的架構風格

柚子快報邀請碼778899分享:5種常見的架構風格

http://yzkb.51969.com/

軟件體系結構是具有一定形式的結構化元素的集合(構件的集合)。構件分為三類包括處理構件(對數據進行加工)、數據構件(被加工的信息)和連接構件(連接體系結構的不同部分)。當然也可以說是由構件、連接件和約束條件組成。

軟件架構風格是指描述某一特定應用領域中系統(tǒng)的組織方式的慣用模式。反應了領域中眾多系統(tǒng)所共有的結構和語義特性,并指導如何將各個構件有效的組織成一個完整的系統(tǒng)。

主要存在5種架構風格:分別為:

5種常見架構風格和具體子類

架構風格包含數據流風格批處理序列、管道/過濾器調用/返回風格面向對象風格、主程序/子程序、層次結構獨立構件風格進程通信;事件驅動系統(tǒng)(隱式調用)虛擬機風格解釋器、基于規(guī)則的系統(tǒng)以數據為中心超文本系統(tǒng)、黑板系統(tǒng)

一、數據流風格

數據流風格的軟件架構是一種最常見,結構最為簡單的軟件架構。這樣的架構下,所有的數據按照流的形式在執(zhí)行過程中前進,不存在結構的反復和重構,就像工廠中的汽車流水線一樣,數據就像汽車零部件一樣在流水線的各個節(jié)點上被加工,最終輸出所需要的結果(一部完整的汽車)。在流動過程中,數據經過序列間的數據處理組件進行處理,然后將處理結果向后傳送,最后進行輸出。

1、批處理序列

1)構件為一系列固定的順序的計算單元,構件之間只通過完整的數據傳遞交互;

2)每個處理步驟都是一個獨立的程序,每一步必須在前一步結束后才能開始;

3)數據必須是完整的,以完整的方式傳遞

優(yōu)點:

高效性:批處理架構可以處理大量的數據和任務,通過批量處理可以減少系統(tǒng)開銷和資源消耗,提高處理效率。可擴展性:批處理架構可以輕松地擴展到處理更多的數據和任務,適應不斷增長的需求。可靠性:批處理架構通常具有錯誤處理和容錯機制,可以處理異常情況并保證數據的完整性和一致性。自動化:批處理架構可以自動執(zhí)行,減少人工干預和操作的需求,提高工作效率。

缺點:

延遲性:由于批處理需要等待一定的數量的任務或數據累計后才能執(zhí)行,因此可能會導致一定的延遲,不適用于實時性要求較高的場景。復雜性:批處理機構通常涉及到大量的數據處理和任務調度,需要設計和實現(xiàn)復雜的邏輯和流程,增加了系統(tǒng)的復雜性和維護成本。可見性:由于批處理是一次性處理數據或任務,因此在處理過程中可能無法實時查看和監(jiān)控處理的進度和狀態(tài)。難以調試:由于批處理通常是一次性執(zhí)行的,當出現(xiàn)錯誤或者異常時,調試和定位問題可能會比較困難,需要依賴日志和錯誤報告來進行排查。

2、管道/過濾器風格

管道/過濾器風格是將數據或者事件通過一系列的過濾器處理和轉換的設計模式,它把系統(tǒng)分成連續(xù)的處理步驟,這些步驟通過數據流進行連接,上一個步驟的輸出就是下一個步驟的輸入。這里的構件主要是過濾器和管道。相較于批處理風格,它處理的數據不是完整的數據,而是流數據。

優(yōu)點:

關注點分離:每個過濾器只關注特定的任務或者功能,使得系統(tǒng)的處理邏輯清晰和模塊化。不同的過濾器可以獨立開發(fā)、測試和維護,提高了代碼的可讀性和可維護性可復用:每個過濾器都是獨立的單元,可以在不同的上下文中進行復用,可以減少代碼冗余,提高代碼開發(fā)效率支持并發(fā):每個過濾器獨立運行,不同子任務可以并行執(zhí)行靈活性:通過組合不同的過濾器,可以靈活處理流程和功能組合??梢愿鶕枨髣討B(tài)調整過濾器的順序或者添加刪除過濾器,以滿足不同的業(yè)務需求

缺點:

不適合用來設計交互式應用系統(tǒng)復雜性增加性能開銷大:經過多個過濾器,每個過濾器都需要進行數據處理,會造成性能損耗難以調試和測試:由于經過多個過濾器,調試和測試將會變得比較困難

管道/過濾器更適合連續(xù)的數據流或者事件流,并且每次過濾器的處理都是相對獨立的情況。對于存在復雜的依賴關系或者需要全局狀態(tài)共享的系統(tǒng),該風格會變得復雜和難以維護

二、調用/返回風格?

調用返回風格顧名思義,就是指在系統(tǒng)中采用了調用與返回機制。利用調用/返回實際上是一種分而治之的策略,其主要思想是將一個復雜的大系統(tǒng)分解為一些子系統(tǒng),以便降低復雜度,并且增加可修改性。程序從其執(zhí)行起點開始執(zhí)行該構件的代碼,程序執(zhí)行結束,將控制返回給程序調用構件。

1、面向對象風格

1)構件是對象,對象是抽象數據類型的實例,系統(tǒng)被看做是對象的集合,每個對象都有一個它自己的功能集合。

2)連接件是對象間的交互方式,對象之間通過函數調用和消息傳遞實現(xiàn)交互。

優(yōu)點:

易維護:才用面向對象思想設計的結構,可讀性高,由于繼承的存在,即使改變需求,維護也只需要在局部模塊,成本交底高質量:在設計時,可以重用現(xiàn)有、以前項目已經測試過的類是系統(tǒng)滿足業(yè)務需求,并且具有較高的質量實現(xiàn)封裝:在軟件開發(fā)時,根據設計的需要對現(xiàn)實世界的實物進行抽象,封裝產生類的屬性和方法易擴展:由于繼承、封裝、多態(tài)的特性,自然設計出高內聚,低耦合的系統(tǒng)結構,使得系統(tǒng)更靈活、更容易擴展,成本較低

缺點:

增加了對象之間的依賴關系過度抽象:有時設計的類過于抽象,不僅增加編程的難度,也使得程序的運行效率降低

2、主程序/子程序風格

即為面向過程的風格,其中主程序負責控制整改程序的流程和邏輯,而子程序則負責執(zhí)行特定的任務和功能。

優(yōu)點:

結構清晰:主程序和子程序之間的分離使得代碼更容易理解和維護代碼重用:子程序可以在不同的地方被調用,提高了代碼的重用性控制能力強:主要表現(xiàn)在主程序對子程序有強大的控制力,可以有效的管理并協(xié)調各個子程序只記得關系和執(zhí)行順序

缺點:

不易擴展:當系統(tǒng)規(guī)模擴大時,管理和維護各個子程序之間的調用關系會變得更加困難,同時會增加系統(tǒng)的復雜性程序的流程控制集中在主程序中,可能導致主程序變得龐大而復雜子程序之間的依賴關系可能導致代碼的耦合性增加,一處的修改可能會影響其他地方的修改

總之,主程序/子程序架構風格在一些簡單的應用場景中是有效的,但是在復雜的應用中會導致代碼的可維護性和可擴展性下降

3、層次結構

1)構件組成一個層次結構,連接件通過決定層間如何交互的協(xié)議來定義;

2)每一層為上層提供服務,使用下一層的服務,只能見到自己臨接的層;

3)各個層次的組件形成不同功能級別的虛擬機,多層相互協(xié)同工作,而且實現(xiàn)透明;

優(yōu)點:

通過層次結構,可以將大的問題分解為若干個漸進的小問題逐步解決,可以隱藏問題的復雜度支持系統(tǒng)設計過程中的逐級抽象,每一層的抽象級別不同,底層抽象級別高,頂層抽象級別低松耦合:每一層只能影響相鄰的兩層,允許每層使用不同的方法實現(xiàn)層的功能,支持復用可擴展性好

缺點:

不能適用所有系統(tǒng),不同層之間耦合度高的系統(tǒng)很難實現(xiàn)正確層次劃分困難性能不佳:由于數據不能跨層傳輸,造成性能下降

三、獨立構件風格

獨立構件風格主要強調系統(tǒng)中的每個構件都是相對獨立的個體,它們之間不直接通信,以降低耦合度,提升靈活性。

1、進程通信

構件是獨立的進程,連接件事消息的傳遞。構件通常是命名的過程,消息傳遞的方式可以是點對點、異步或同步方式,以及遠程調用等。

優(yōu)點:

支持分散式計算健壯性:對任何給定節(jié)點的故障處理具有強大的健壯性可擴展性:在資源和計算能力方面具有很高的可擴展性

缺點:

服務質量沒有保證,因為節(jié)點是自愿合作的安全是很難得到保證的性能取決于節(jié)點的數量

2、事件驅動

是一種基于發(fā)布/訂閱模式的消息異步通信的架構,構件不直接調用過程,而是聲明事件。系統(tǒng)其他構件的過程可以在這些事件中進行注冊。當事件被觸發(fā)時,系統(tǒng)自動調用這個事件在注冊的所有過程。因此,觸發(fā)一個事件會引起其他構件的過程調用??梢杂脕碓O計規(guī)模很大的應用程序。

優(yōu)點:

容易實現(xiàn)并發(fā)處理和多任務松耦合易擴展易維護,能夠簡化代碼適合描寫系統(tǒng)組

缺點:

構件放棄了對系統(tǒng)計算的控制,當一個構件發(fā)布一個事件時,并不能確定另一個構件會響應,而且不能保證構件被調用的順序各個對象的邏輯關系復雜

四、虛擬機風格

虛擬機風格的基本思想是人為構建一個運行環(huán)境,在這個環(huán)境之上,可以解析與運行自定義的一些語言,這樣來增加架構的靈活性,適合特定的領域。

1、解釋器風格

解釋器是解釋自定義的規(guī)則,通常包括一個完整的解釋工作的解釋引擎、一個包含被解釋的代碼的存儲區(qū)、一個記錄當前工作狀態(tài)的數據結構,以及一個記錄源代碼被解釋執(zhí)行的進度的數據結構。適用于使用模式匹配系統(tǒng)與語言編輯器。

。

優(yōu)點:

提供程序的跨平臺的移植能力具有解釋器風格的軟件中一般包含一個虛擬機,可以仿真硬件的執(zhí)行過程和一些關鍵的應用,靈活應對自定義場景

缺點:

由于使用了特定的語言和自定義的操作規(guī)則,因此增加了系統(tǒng)的運行開銷,執(zhí)行效率低只適合特定的領域

2、基于規(guī)則的系統(tǒng):

基于規(guī)則的系統(tǒng)包括規(guī)則集、規(guī)則解釋器、規(guī)則/數據選擇器和工作內存,一般用在人工智能領域和DSS中。

優(yōu)點:

容易被人類理解容易修改和擴展

缺點:

不靈活,不能適應不斷變化的條件執(zhí)行速度慢,因為做出決定之前需要檢查所有的規(guī)則

五、以數據為中心

在這種風格中,有兩種不同類型的軟件元素:一種是中央數據單元,也成為資源庫,用于表示系統(tǒng)的當前狀態(tài);另一種是相互依賴的構件組,這些構件可以對中央數據單元實施操作。中央數據單元和構件之間可以進行信息交換,這是數據共享體系結構的技術實現(xiàn)基礎

1、超文本系統(tǒng)

構件以網狀鏈接方式相互連接,用戶可以在構件之間進行按照人類的聯(lián)想思維方式任意跳轉到相關的構件。超文本是一種非線性的網狀信息組織方法,它一節(jié)點為基本單位,鏈作為節(jié)點之間的聯(lián)想式關聯(lián)。超文本系統(tǒng)通常應用在互聯(lián)網領域,現(xiàn)代集成編譯環(huán)境一般才有這種架構風格

2、黑板系統(tǒng)

包括知識源、黑板(中央數據單元)和控制單元三部分。知識源包括若干獨立計算的不同單元,提供解決問題的知識。知識源響應黑板的變化,也只修改黑板;黑板是一個全局數據庫,包含問題域解空間的全部狀態(tài),是知識源相互作用的唯一媒介;知識源的響應是通過黑板狀態(tài)的變化來控制的。黑板是數據共享體系結構的一個特例,用以解決狀態(tài)沖突并處理可能存在的不確定性知識源。黑板常用于信號處理,如語音和模式識別,同時在自然語言處理領域中也有廣泛的應用,如機器翻譯和句法分析

優(yōu)點:

便于多客戶共享大量數據,而不必關心數據是何時產生的、由誰提供的及通過何種途徑來提供便于將構件作為知識源添加到系統(tǒng)中來

缺點:

對共享數據結構,不同知識源要達成一致需要同步機制和加鎖機制來保證數據的完整性和一致性,增大了系統(tǒng)設計的復雜度

以下是總結的軟考??嫉募軜嫷那闆r

柚子快報邀請碼778899分享:5種常見的架構風格

http://yzkb.51969.com/

文章鏈接

評論可見,查看隱藏內容

本文內容根據網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19125310.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄