国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

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

開通VIP
比較PureMVC和Cairngorm的GUI架構(gòu)

比較PureMVC和Cairngorm的GUI架構(gòu)

富有經(jīng)驗(yàn)的Java開發(fā)者Per Olesen在Tech Per上發(fā)了一篇博 客文章,比較兩個(gè)最流行的Flex框架,PureMVCCairngorm,并且著重比較了可用性和它們對GUI架構(gòu)模式的應(yīng)用。

在開發(fā)中以設(shè)計(jì)模式為指導(dǎo)已經(jīng)是Java開發(fā)者的基本技術(shù)。在Flex和ActionScript開發(fā)者當(dāng)中,設(shè)計(jì)模式的實(shí)踐要么是從Java開發(fā) 經(jīng)驗(yàn)中來的,要么就是由一些ActionScript/Flex框架帶來的。Olesen描述了這個(gè)過程:

為了幫助架構(gòu)這類應(yīng)用,發(fā)展出了一些GUI架構(gòu)的模式。其中一些比較著名的模式,Martin Fowler已經(jīng)作了很好的描述,比如a >Presentation Model(呈現(xiàn)模型)和Supervising Presenter。它們不是像MVC一樣完整的用戶界面架構(gòu),而是一些比較小的架構(gòu)指引,涉及的是應(yīng)用程序的邏輯如何與視圖框架的API聯(lián)系 起來。

他解釋說:

PureMVC有一個(gè)名為Mediator的 構(gòu)造,顧名思義,它就是Mediator 模式的實(shí)現(xiàn),充當(dāng)視圖API和程序其余部分的API之間的中介。這是PureMVC實(shí)現(xiàn)MVC架構(gòu)視圖部分的關(guān)鍵構(gòu)造。引入它是為了減少應(yīng)用和視 圖之間的依賴,從而降低整個(gè)系統(tǒng)的耦合程度。

Olesen還指出PureMVC有一份關(guān) 于實(shí)現(xiàn)之慣例和最佳實(shí)踐的文檔,文檔中還以實(shí)際的例子LoginPanel進(jìn)行解說。在例子里可以看出,只有mediator了解視圖,視圖對 mediator一無所知。

在分析了PureMVC的文檔提供的源代碼之后,Olesen相信這個(gè)其實(shí)就是Supervising Presenter模式或者Passive View(被動(dòng)視圖)模式。兩種模式都把行為從視圖中抽出來,將之放入與視圖耦合的一個(gè)表現(xiàn)類。在兩個(gè)模式中,都是“表現(xiàn)者知道視圖,視圖不知道表現(xiàn) 者”。因此兩種模式的區(qū)別在于如何抽取邏輯。PureMVC的mediator與Supervising Presenter最為接近。

談到Cairngorm框架,Olesen的觀察是:

Cairngorm沒有mediator、supervising presenter,或者passive view的概念。實(shí)際上批評它的人很多,因?yàn)樗拇档姆桨甘菍⒁晥D組件的狀態(tài)直接綁定到模型。但更糟的問題是模型只是通過單體模式表達(dá)的一個(gè)全局狀態(tài)。

在Cairngorm文檔和例子(無論是簡單的聯(lián)系人管理程序還是比較復(fù)雜的Cairngorm Store)中,這個(gè)問題更加突出。視圖中有許多邏輯,而且是按照Autonomous View(自治視圖)模式來安排的。什么是Autonomous View模式呢?Martin Fowler的回答是:將一個(gè)窗口所有的表現(xiàn)狀態(tài)和行為都放在一個(gè)類里。

Olesen覺得這種模式等于是沒有模式。他覺得采用Cairngorm的應(yīng)用程序里的自治視圖是在鼓勵(lì)直接把數(shù)據(jù)綁定到一個(gè)全局模型的實(shí)例上,非 常不利于分離視圖和模型兩者的關(guān)注點(diǎn)。

最后,Olesen并非簡單地認(rèn)為這個(gè)框架比那個(gè)好,他的結(jié)論是:

無論是哪個(gè)框架,UI模式都只是框架的一部分,雖然是重要的一部分。有人會覺得PureMVC自帶的東西更多一些,mediator是框架中內(nèi)建的 概念。中介者及以通知方式進(jìn)出中介者的通信,都很好地整合進(jìn)了PureMVC框架。

查看英文原文:Comparing GUI Patterns in PureMVC and Cairngorm 閱讀全文


(###)

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
從MVC框架看MVC架構(gòu)的設(shè)計(jì)
Ruboss——面向Rails的Flex框架
高級軟件架構(gòu)設(shè)計(jì)最佳實(shí)踐-上海 - MSUP
Cairngorm框架圖示
PHP設(shè)計(jì)模式之中介者模式
Java學(xué)習(xí)基礎(chǔ)課程之設(shè)計(jì)模式綜合解析
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服