fabrication 是在pureMVC基本上做了擴展,簡化了pureMVC的開發難度。
這裏有一個關於PureMVC的例子:PureMVC Explorer
fabrication既然是基於它開發的,使用起來的一些用法區別並不算太大。下圖爲pureMVC架構圖:
在pureMVC中,Model保存對Proxy的引用,Proxy負責對數據的操作;View保存對Mediator的引用,由mediator對viewComponent進行操作,如:添加事件監聽器、發送或是接收Notifaction、改變元件的狀態或屬性等。Controller保存所有command的映射,command是無狀態的,它可以取得proxy並與它進行交互,執行其它的command。
facade使用單例,只需要繼承facade就可以實現整個mvc,而proxy、mediator、command通過獲取共用的facade來互相訪問。而在fabrication中facade被隱藏了,它使用了StartupCommand進行了取代:
而mediator需要繼承自FlexMediator(org.puremvc.as3.multicore.utilities.fabrication.patterns.mediator.FlexMediator),fabrication通過onRegister方法替代了pureMVC原本的interestedList和Switch case,只需要使用reactTo、respondTo就可以實現事件的監聽了。
格式:reactTo <Componentname><Eventname> (event:<對應的事件>)
respondTo <需要通知的Notification名稱>
以前面的PureMVC Explorer例子,修改爲使用fabrication進行開發。
代碼結構如下圖:
完成demo的下載地址:本地下載>>
本文參考網站:
Fabrication Explorer (build on PureMVC Explorer)
使用Fabrication+PureMVC開發multi-modular Flex應用
fabrication examples
flex的pureMVC+Fabrication的使用例子--HelloWorld