今日頭條

心若改變,則態(tài)度改變;態(tài)度改變,則習(xí)慣改變;習(xí)慣改變,則人生改變

查看內(nèi)容

架構(gòu)設(shè)計(jì),軟件架構(gòu)模式的基本概念及其區(qū)別

2022-4-25 09:12| 發(fā)布者: admin| 查看: 941| 評論: 0

1、架構(gòu)設(shè)計(jì):軟件架構(gòu)模式基本概念及三者區(qū)別

1、架構(gòu)設(shè)計(jì):軟件架構(gòu)模式基本概念及三者區(qū)別

在做軟件架構(gòu)設(shè)計(jì)時(shí),根據(jù)不同的抽象層次可分為三種不同層次的模式:架構(gòu)模式(ArchitecturalPattern)、設(shè)計(jì)模式(DesignPattern)、代碼模式(CodingPattern)。

架構(gòu)模式是一個(gè)系統(tǒng)的高層次策略,涉及到大尺度的組件以及整體性質(zhì)和力學(xué)。架構(gòu)模式的好壞可以影響到總體布局和框架性結(jié)構(gòu)。

設(shè)計(jì)模式是中等尺度的結(jié)構(gòu)策略。這些中等尺度的結(jié)構(gòu)實(shí)現(xiàn)了一些大尺度組件的行為和它們之間的關(guān)系。模式的好壞不會(huì)影響到系統(tǒng)的總體布局和總體框架。設(shè)計(jì)模式定義出子系統(tǒng)或組件的微觀結(jié)構(gòu)。

代碼模式(或成例)是特定的范例和與特定語言有關(guān)的編程技巧。代碼模式的好壞會(huì)影響到一個(gè)中等尺度組件的內(nèi)部、外部的結(jié)構(gòu)或行為的底層細(xì)節(jié),但不會(huì)影響到一個(gè)部件或子系統(tǒng)的中等尺度的結(jié)構(gòu),更不會(huì)影響到系統(tǒng)的總體布局和大尺度框架。

架構(gòu)模式(ArchitecturalPattern)

一個(gè)架構(gòu)模式描述軟件系統(tǒng)里的基本的結(jié)構(gòu)組織或綱要。架構(gòu)模式提供一些事先定義好的子系統(tǒng),指定它們的責(zé)任,并給出把它們組織在一起的法則和指南。稱之為系統(tǒng)模式。

?MVC模式,一個(gè)架構(gòu)模式常?梢苑纸獬珊芏鄠(gè)設(shè)計(jì)模式的聯(lián)合使用。MVC模式常常包括調(diào)停者(Mediator)模式、策略(Strategy)模式、合成(Composite)模式、觀察者(Observer)模式等。

?Layers(分層)模式,有時(shí)也稱Tiers模式

?Blackboard(黑板)模式

?Broker(中介)模式

?DistributedProcess(分散過程)模式

?Microkernel(微核)模式

架構(gòu)模式常常劃分成如下的幾種:

一、模塊結(jié)構(gòu)(FromMudtoStructure)型。幫助架構(gòu)師將系統(tǒng)合理劃分,避免形成一個(gè)對象的海洋。包括Layers(分層)模式、Blackboard(黑板)模式、Pipes/Filters(管道/過濾器)模式等。

二、分散系統(tǒng)(DistributedSystems)型。為分散式系統(tǒng)提供完整的架構(gòu)設(shè)計(jì),包括像Broker(中介)模式等。

三、人機(jī)互動(dòng)(InteractiveSystems)型,支持包含有人機(jī)互動(dòng)介面的系統(tǒng)的架構(gòu)設(shè)計(jì),例子包括MVC(Model-View-Controller)模式、PAC(Presentation-Abstraction-Control)模式等。

四、AdaptableSystems型,支持應(yīng)用系統(tǒng)適應(yīng)技術(shù)的變化、軟件功能需求的變化。如Reflection(反射)模式、Microkernel(微核)模式等。

設(shè)計(jì)模式(DesignPattern) · · 關(guān)注微信公眾號:挪車小黃碼 · 官方免費(fèi)領(lǐng)。号曹嚧a,車主雙方虛擬號碼,隱私保護(hù),拒絕騷擾,違章查詢,免費(fèi)使用!--挪車電話 官網(wǎng):https://www.nuoche.cc/ · ·

一個(gè)設(shè)計(jì)模式提供一種提煉子系統(tǒng)或軟件系統(tǒng)中的組件的,或者它們之間的關(guān)系的綱要設(shè)計(jì)。設(shè)計(jì)模式描述普遍存在的在相互通訊的組件中重復(fù)出現(xiàn)的結(jié)構(gòu),這種結(jié)構(gòu)解決在一定的背景中的具有一般性的設(shè)計(jì)問題。

設(shè)計(jì)模式常常劃分成不同的種類,常見的種類有:

創(chuàng)建型設(shè)計(jì)模式,如工廠方法(FactoryMethod)模式、抽象工廠(AbstractFactory)模式、原型(Prototype)模式、單例(Singleton)模式,建造(Builder)模式等

結(jié)構(gòu)型設(shè)計(jì)模式,如合成(Composite)模式、裝飾(Decorator)模式、代理(Proxy)模式、享元(Flyweight)模式、門面(Facade)模式、橋梁(Bridge)模式等

行為型模式,如模版方法(TemplateMethod)模式、觀察者(Observer)模式、迭代子(Iterator)模式、責(zé)任鏈(ChainofResponsibility)模式、備忘錄(Memento)模式、命令(Command)模式、狀態(tài)(State)模式、訪問者(Visitor)模式等等。

以上是三種經(jīng)典類型,實(shí)際上還有很多其他的類型,比如Fundamental型、Partition型,Relation型等等。設(shè)計(jì)模式在特定的編程語言中實(shí)現(xiàn)的時(shí)候,常常會(huì)用到代碼模式。比如單例(Singleton)模式的實(shí)現(xiàn)常常涉及到雙檢鎖(Double-CheckLocking)模式等。

代碼模式(CodingPattern)

代碼模式(或成例)是較低層次的模式,并與編程語言密切相關(guān)。代碼模式描述怎樣利用一個(gè)特定的編程語言的特點(diǎn)來實(shí)現(xiàn)一個(gè)組件的某些特定的方面或關(guān)系。

較為**的代碼模式的例子包括雙檢鎖(Double-CheckLocking)模式等

內(nèi)容頁面Content
聯(lián)系方式Contact
地 址:河南省南陽市內(nèi)鄉(xiāng)縣
大成橋西頭向西80米路南
郵 編:474350 咨詢熱線:0377-65311029 服務(wù)投拆:13782074444 傳 真:0377-65311029 郵 箱:53907070@qq.com
 
QQ在線咨詢
售前咨詢熱線
0377-65311029
投訴服務(wù)熱線
13782074444
返回頂部