PureMVC 官方文件翻譯(一)

2022-07-16 21:39:18 字數 1931 閱讀 2000

最近在學習puremvc框架,感覺最權威的還是閱讀官方文件,順便翻譯了下全當記筆記了。

puremvc概覽

這篇文件他討論puremvc框架的類和介面,使用uml來闡述它們的角色、職責和協作。

puremvc框架有乙個非常細小的目標一一就是幫助你把應用程式編碼之間的關聯分離成明確的三層:模型層,檢視層和控制層。

經典mvc設計模式的實現把應用程式以3個單例的形式呈現。在puremvc中第四個單例facade通過乙個簡單的介面為程式提供了通訊便利,簡化了開發。

model層這裡叫proxy, proxy提供了api來管理資料模型層(包括遠端父物資料查詢)。

view層這裡叫mediator,mediator模式適配和管理檢視元件。(使用者介面)

controller這裡叫command, command沒有自主權,並且只有當需要時被建立。

facade 初始化和快取model, view 和 controller這幾個核心元件,並且提供了乙個單獨的地方來訪問它們的公有方法。

facade類使得proxies, mediators 和commands 以松耦合的方式來彼此通訊,沒必要直接的引用或訪問框架中的核心。

當我們為程式建立乙個具體的facade實現時,我們可以容易的與facade互動,給使用api的開發者以最少的細節來成功的使用框架。

model, view, controller 這三個核心角色分別實現了imodel, iview和icontroller介面。 facade實現了ifacade, 以組合方式實現了所有的核心介面。(imodel, iview和icontroller)

view, mediators 和view元件。

view類以單例的方式被實現並且提供了具體的imediator例項的訪問。

mediators   幫助我們建立和復用現有的使用者介面元件,使得我們不必要關注puremvc的實現細節。具體的mediators必須實現imediator介面,通常以繼承的方式來實現。

檢視元件用來顯示資料或者接受使用者手勢。以乙個flash程式為例,它們通常使用事件和暴露一些屬性給具體的mediator來通訊、監視和管理。乙個mediator連線這乙個檢視元件和它的資料並且和以它為代表的系統的剩下部分進行通訊。

當乙個具體的mediator被註冊到view的時候,mediator可以被它感興趣的notification查詢。mediator類必須返回它期望被通知的notifications的陣列的名字。

因為mediator必須實現imediator介面,具體的mediator將有乙個handlenotification方法。當mediator註冊到view的時候,乙個observer例項被建立並且註冊到這個陣列中的每乙個notification.因此,無論什麼時候只要有乙個mediator感興趣的notification被傳送,mediator的handlenotification方法就會被呼叫。

mediator框架類實現了inotifier,因此有乙個sendnotification方法,這個方法帶著引數給乙個新的notification,構建這個notification並且使用ifacade單例的例項傳送它。

mediator的保護屬性facade初始化來註冊ifacade例項,因此mediator必須在具體的facade初始化之後被構建。   

未完,待續...

voltdb官方文件翻譯 一)

最近研究voltdb,發現網上的資料很少。但是官網的文件講述的還是挺清楚的。所以就把看後的觀點記錄下來,方便後來人,廢話不多說,進入正題。首先,voltdb是什麼。它是一款記憶體資料庫,號稱實現了acid和事務隔離,快速解決大資料量和大併發量的秒級相應。本人實際使用了一下感覺還是蠻好的。因為volt...

Core Foundation 官方文件翻譯

core foundation框架中常用的隱含型別 使用這些隱含型別時需要自己初始化,自己去釋放記憶體。所以需要記住,在初始化的同時在相應位置釋放。以防出現記憶體問題。1.cfstringref 其他方法用的時候可以檢視文件 void testcfstringref 2 cfarrayref,還有很...

Docker 官方文件翻譯

docker compose 是利用docker來執行多個容器的工具。利用compose 在乙個檔案中定義多個容器,然後利用乙個單獨的命令,可以執行你所想做的任何事情。compose 能較好的作為開發環境的假設,伺服器腳手架以及ci方面的應用。我們不推薦使用在生產環境中。使用compose 需要一下...