PureMVC學習筆記之基礎概念

2021-06-16 15:26:32 字數 1732 閱讀 5412

首先看看兩者的區別:

mvc:mode、view、controller

puremvc:mvc、proxy、mediator、command、facade

接著小心推敲各自的職責:

model、proxy:

model儲存對proxy物件的引用,proxy負責運算元據模型,與遠端服務通訊訪問資料。(這樣保證了model層的可移植性)

view、mediator:

view儲存對mediator物件的引用。由mediator物件來操作具體的檢視元件(例如datagrid元件),包括:新增監聽、傳送或接收notification,改變檢視元件的狀態。

controller、command:

controller儲存所有command的對映。command類是無狀態的,只在需要時才被建立。

command可以獲取proxy物件並與之互動,傳送notification,執行其他的command。例如應用程式的「啟動」和「關閉」。

facade:

單例,負責初始化核心層(model、view和controller),並能訪問他們的public方法。

(1)、負責初始化controller,建立command與notification之間的對映。

(2)、執行乙個command,註冊所有的mode和view

(3)、將mode、view和controller物件的引用儲存在自己的成員變數。

通訊方式:

puremvc通訊:

不採用flash的事件響應,而是使用觀察者模式來通訊。

實際被我們使用的:

notification:

facade儲存了command與notification之間的對映。當notification被發出時,對應的command會自動地由controller執行。

mediator:(傳送、宣告、接收notification)

當用view註冊mediator時,mediator的listnotifications方法會被呼叫,以陣列形式返回該mediator物件所關心的所有notification。

之後,當系統其它角色發出同名的notification時,關係這個通知的mediator都會呼叫handlenotification方法,並將notification以引數傳遞到方法。

proxy:(傳送,但不接收notification)

例如,proxy從伺服器收到資料時,傳送notification到系統。當proxy的資料被更新時,傳送notification到系統。

view和controller監聽proxy傳送的notification。使用者通過介面(view)與資料(proxy)互動。

對外公布運算元據物件的api。封裝了所有對資料模型的操作。

有這些命令:

******command:

只有乙個execute方法,僅接受乙個inotification例項作為引數。

macrocommand:

可以執行多個command。每個執行都會建立乙個command物件並傳參乙個對源notification的引用。

它在構造方法中呼叫自身的initializemacrocommand方法。只需要重寫這個方法,呼叫addsubcommand新增子command。

也可以任意組合******和macro成為乙個新的command。

Hadoop學習筆記(八)(SparkSQL概述)

hive 類似於sql的hive ql語言,sql 換 mapreduce spark hive on spark shark hive on spark shark翻譯成rdd元件 shark 僅僅只是把物理執行計畫從mr作業替換成spark作業 shark終止以後,產生了2個分支 hive社群,...

C C 之基礎學習筆記

1.空類 建構函式 成員函式都是不占用空間的,都是乙個size為1,作為類的佔位符,如何區分類 2.如果乙個類含有虛函式,那麼他的size將會是8 x64位 2.1 virtual大小是否與系統平台相關?x64和x86 2.2 vptr和vtable的原理和資料結構如何?3.建構函式的順序 先基類的...

Windows Socket 學習筆記 之基礎知識

一 基礎知識 本部分作為socket程式設計的基礎知識的補充,講述網路模型和網路協議介紹.對於網路協議非常清楚的大俠可以直接跳過,也可作為基本的了解。作為網路的理解,自己是在自己的理解基礎之上進行的總結,難免也有不足之處,望多提意見共同 交流。1 tcp ip協議模型由tcp協議和ip協議連個協議構...