日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

什么是 PureMVC 框架(提供下载)

發(fā)布時(shí)間:2025/5/22 c/c++ 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是 PureMVC 框架(提供下载) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

PureMVC是在基礎(chǔ)的經(jīng)典模型、視圖和控制器上建立的一個(gè)輕量級(jí)的應(yīng)用框架,這種開源框架是免費(fèi)的,它最初是執(zhí)行的ActionScript 3語(yǔ)言使用的Adobe Flex、Flash和AIR,現(xiàn)在已經(jīng)移植到幾乎所有主要的發(fā)展平臺(tái),目前支持兩個(gè)版本框架:標(biāo)準(zhǔn)和多核,總之,標(biāo)準(zhǔn)版提供了一種簡(jiǎn)單的編碼分離的方法,按照MVC設(shè)計(jì)概念。除此之外,多版本允許多個(gè)PureMVC應(yīng)用運(yùn)行在同一個(gè)虛擬機(jī);模塊化編程

?

AS3版 PureMVC 下載地址:

http://puremvc.org/pages/downloads/AS3/PureMVC_AS3.zip

?

?

PureMVC框架概述與UML視圖

docx文檔下載地址:http://as3libs.googlecode.com/files/PureMVC.rar

框架概述

本文討論P(yáng)ureMVC框架的類和接口,通過簡(jiǎn)單的UML(統(tǒng)一建模語(yǔ)言)圖表闡述他們的作用、職責(zé)和合作。

PureMVC有一個(gè)非常狹隘的主要目標(biāo):用于幫助程序員分離代碼為三個(gè)離散的層:即模型,視圖和控制器。

在該經(jīng)典的MVC元模式實(shí)現(xiàn)框架中,應(yīng)用層有三個(gè)單例(一個(gè)只創(chuàng)建一次的類)所表示。而第四個(gè)單例,Fa?ade類通過一個(gè)單一的接口為應(yīng)用程序之間提供通訊,從而簡(jiǎn)化了開發(fā)。

模型(Model)簡(jiǎn)單的指向Proxy的引用。Proxy代碼負(fù)責(zé)操作數(shù)據(jù)模型,與遠(yuǎn)程服務(wù)通信存取數(shù)據(jù)。

視圖指向Mediator的引用。Mediator管理視圖組件,增加事件監(jiān)聽器,操作視圖組件的狀態(tài)。

控制器包括命令類及其映射。命令類是無(wú)狀態(tài)的,只有需要時(shí)才被創(chuàng)建。

Fa?ade單例初始化Model, View, Controller,并且能訪問各層類的Public方法。

?

Fa?ade與核心類

?

Fa?ade類令roxies, Mediators和Commands之間以松耦合的方式允許互相通信,而不需要導(dǎo)入或知道框架核心的存在。當(dāng)我們創(chuàng)建一個(gè)Fa?ade類具體的應(yīng)用時(shí),就可以“即開即用”的使用它了。附帶的,與Fa?ade類的交互將會(huì)最大化的降低開發(fā)者對(duì)API知識(shí)的了解程度。

核心成員類Model, View和Controller分別實(shí)現(xiàn)了IModel, IView 以及 IController 接口,Fa?ade類實(shí)現(xiàn)了由核心接口組成的IFacade接口。

?

View, Mediators和View組件

?

View類被實(shí)現(xiàn)為一個(gè)用來(lái)緩存指向一個(gè)IMediator實(shí)例引用的單例。

Mediators類幫助我們創(chuàng)建或者重用已經(jīng)存在的用戶接口組件,而不用讓他們通訊的PureMVC程序的知識(shí)去影響他們。具體的Mediators實(shí)例必須實(shí)現(xiàn)IMediator接口,通常是作為Mediator類的子類來(lái)實(shí)現(xiàn)的。

View視圖用來(lái)顯示數(shù)據(jù)和處理用戶交互。在一個(gè)基于flash的應(yīng)用程序中,他們通常通過使用事件和傳遞一些屬性給其Mediators類去檢查或者控制,以便與View的Mediators類交互。一個(gè)Mediator類通過View組件的數(shù)據(jù)與之建立聯(lián)系。當(dāng)一個(gè)Mediator 類的實(shí)例被view注冊(cè)時(shí),他會(huì)被假設(shè)為他需要獲取通知。因此必須返回一個(gè)包含所有他感興趣數(shù)據(jù)的通知名數(shù)組。

因?yàn)镸ediator類必須實(shí)現(xiàn)IMediator接口,所以一個(gè)Mediator實(shí)例擁有handleNotification方法。當(dāng)該實(shí)例被View組件注冊(cè),一個(gè)Observer實(shí)例就被創(chuàng)建并且被注冊(cè)給每一個(gè)Notification的數(shù)組中。這樣Mediator的handleNotification方法就被觸發(fā),而不論注冊(cè)Notification的Mediator是否感興趣。

Mediator類由于實(shí)現(xiàn)了INotifier接口而具備了sendNotification方法,sendNotification方法的參數(shù)是一個(gè)新的Notification通知,而后使用一個(gè)IFacade接口的單例去廣播。

?

Mediator類的protected屬性被初始化用于注冊(cè)IFacade實(shí)例,并且因此Mediator必須在主程序初始化Fa?ade實(shí)例后被注冊(cè)。

?

Model, Proxies與數(shù)據(jù)對(duì)象

?

Model類被實(shí)現(xiàn)為一個(gè)簡(jiǎn)單的指向IProxy引用的單例。

Proxy類幫助我們暴露數(shù)據(jù)模型和實(shí)體類(當(dāng)域邏輯和服務(wù)支持時(shí))給應(yīng)用程序,使得程序可以被其它地方被復(fù)用或重構(gòu)。

我們可能通過使用一個(gè)Proxy實(shí)例來(lái)簡(jiǎn)化指向本地?cái)?shù)據(jù)對(duì)象的管理,在這種情況下交互可能引起一些數(shù)據(jù)的同步操作。一個(gè)Proxy實(shí)例也可能被用來(lái)進(jìn)行程序的原創(chuàng)服務(wù)操作,加載或者保持?jǐn)?shù)據(jù)。這時(shí),我們可能需要出發(fā)一個(gè)方法或者基于Proxy去設(shè)置數(shù)據(jù),并且等待該P(yáng)roxy從服務(wù)器成功加載到數(shù)據(jù)后廣播一個(gè)Notification通知。

Proxy類由于實(shí)現(xiàn)了INotifier接口而具備了sendNotification方法,sendNotification方法的參數(shù)是一個(gè)新的Notification通知,而后使用一個(gè)IFacade接口的單例去廣播。

Proxy類的protected屬性被初始化用于注冊(cè)IFacade實(shí)例,并且因此Mediator必須在主程序初始化Fa?ade實(shí)例后被注冊(cè)。

?

Controller與Commands

?

MacroCommand類從它的構(gòu)造函數(shù)中觸發(fā)initializeMacroCommand方法。使用者必須在其子類中重寫initializeMacroCommand方法,一般addSubCommand方法添加所有Command。可以使用SimpleCommands 或者 MacroCommands中的任何一種。

?

View, Observer與Notification

?

Proxies,Mediators與Commands類之間的通訊是通過廣播Notifications來(lái)實(shí)現(xiàn)松耦合和跨平臺(tái)特性的:

Proxies可以發(fā)送,但不能接收Notification

Mediator聲明感興趣的Notification和接收Notification

Commands被觸發(fā)或廣播Notifications

PureMVC應(yīng)用程序可能運(yùn)行在不能訪問Flash Event和EventDispatcher類的環(huán)境中,所以框架使用觀察者模式以一種松耦合的方式在Model, View, Controller之間通信。

PureMVC使用觀察者模式就是為了該目的。IObserver攜帶一個(gè)希望被關(guān)注(即“被關(guān)注的內(nèi)容”)的對(duì)象引用,該對(duì)象的一個(gè)方法將會(huì)在INotification實(shí)例被廣播(即“被關(guān)注方法”)時(shí)被觸發(fā)。

View組件的職責(zé)是管理Notification的名稱給Observer列表,以及當(dāng)有Notification被發(fā)送時(shí)通知所有的Observers。

?

文章來(lái)源: 我要學(xué)flash網(wǎng)(www.51xflash.com) 原文地址:http://www.51xflash.com/article/flex/201107/04-14515.html

轉(zhuǎn)載于:https://www.cnblogs.com/jiushini/archive/2012/04/22/2464882.html

總結(jié)

以上是生活随笔為你收集整理的什么是 PureMVC 框架(提供下载)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。