免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
軟件模式 http://www.uml.org.cn/sjms/200605153.htm
由于[GOF95]是論述軟件模式的著作的第一本,也是OO設(shè)計(jì)理論著作中最流行的一本,因此有些人常常使用設(shè)計(jì)模式(Design Pattern)一詞來(lái)指所有直接處理軟件的架構(gòu)、設(shè)計(jì)、程序?qū)崿F(xiàn)的任何種類的模式。另外一些人則強(qiáng)調(diào)要?jiǎng)澐秩N不同層次的模式:架構(gòu)模式(Architectural Pattern)、設(shè)計(jì)模式(Design Pattern)、成例(Idiom)。成例有時(shí)稱為代碼模式(Coding Pattern)。[心得:由“架構(gòu)模式”做系統(tǒng)的大框大方針,“設(shè)計(jì)模式”去細(xì)化大方針,但不會(huì)影響系統(tǒng)框架的結(jié)構(gòu),就是看你實(shí)現(xiàn)模塊時(shí)是采用那用設(shè)計(jì)模式去完成,無(wú)論用什么設(shè)計(jì)模式結(jié)果是不會(huì)變的,“代碼模式或成例"是按著設(shè)計(jì)模式,跟據(jù)編程語(yǔ)言的不同
去實(shí)現(xiàn)設(shè)計(jì)模式,同樣也不會(huì)影響到設(shè)計(jì)模式的結(jié)構(gòu),更不會(huì)影響到架構(gòu)模式的結(jié)構(gòu),可能會(huì)影響到設(shè)計(jì)模式的性能]

 這三者之間的區(qū)別在于三種不同的模式存在于它們各自的抽象層次和具體層次上。架構(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)。代碼模式(或成例)是特定的范例和與特定語(yǔ)言有關(guān)的編程技巧。代碼模式的好壞會(huì)影響到一個(gè)中等尺度組件的內(nèi)部、外部的結(jié)構(gòu)或行為的底層細(xì)節(jié),但不會(huì)影響到一個(gè)部件或子系統(tǒng)的中等尺度的結(jié)構(gòu),更不會(huì)影響到系統(tǒng)的總體布局和大尺度框架。

 代碼模式或成例(Coding Pattern 或 Idiom)

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

 較為著名的代碼模式的例子包括雙檢鎖(Double-Check Locking)模式等。

 設(shè)計(jì)模式(Design Pattern)

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

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

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

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

 行為型模式,如模版方法(Template Method)模式、觀察者(Observer)模式、迭代子(Iterator)模式、責(zé)任鏈(Chain of Responsibility)模式、備忘錄(Memento)模式、命令(Command)模式、狀態(tài)(State)模式、訪問(wèn)者(Visitor)模式等等。
以上是三種經(jīng)典類型,實(shí)際上還有很多其他的類型,比如Fundamental型、Partition型,Relation型等等

 設(shè)計(jì)模式在特定的編程語(yǔ)言中實(shí)現(xiàn)的時(shí)候,常常會(huì)用到代碼模式。比如單例(Singleton)模式的實(shí)現(xiàn)常常涉及到雙檢鎖(Double-Check Locking)模式等。

 架構(gòu)模式(Architectural Pattern)

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

 一個(gè)架構(gòu)模式常常可以分解成很多個(gè)設(shè)計(jì)模式的聯(lián)合使用。顯然,MVC模式就是屬于這一種模式。MVC模式常常包括調(diào)停者(Mediator)模式、策略(Strategy)模式、合成(Composite)模式、觀察者(Observer)模式等。

 此外,常見(jiàn)的架構(gòu)模式還有:

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

 ·Blackboard(黑板)模式

 ·Broker(中介)模式

 ·Distributed Process(分散過(guò)程)模式

 ·Microkernel(微核)模式

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

 一、 From Mud to Structure型。幫助架構(gòu)師將系統(tǒng)合理劃分,避免形成一個(gè)對(duì)象的海洋(A sea of objects)。包括Layers(分層)模式、Blackboard(黑板)模式、Pipes/Filters(管道/過(guò)濾器)模式等。

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

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

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

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
設(shè)計(jì)模式概述
架構(gòu)、框架、模式和平臺(tái)的區(qū)別
軟件架構(gòu)、框架、模式、模塊、組件、插件、中間件一文打盡
J2EE設(shè)計(jì)模式淺談(1)
初探響應(yīng)式架構(gòu)
trulyliu的Linux小屋: Patterns In ACE
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服