2012年6月8日 星期五

PureMVC實作一

本篇將準備好所有PureMVC基本運作所需架構


Step1. create package 結構:


PureMVC_Demo
                        |
                         -src
                               | - default package
                               |                               |--PureMVC_Demo.mxml  (應用起始頁面)
                               | - main
                               |            |-- command
                               |            |-- facade
                               |            |-- mediator
                               |            |-- mode
                               |            |-- proxy
                               |            |-- view
                               |             
                               | - module
                               |               | -- Page1.mxml   (Flex module)
                               |               | -- Page2.mxml   (Flex module)
                               |
                               | - page1

                               |            |-- command
                               |            |-- facade
                               |            |-- mediator
                               |            |-- mode
                               |            |-- proxy
                               |            |-- view
                               |

                               | - page2

                               |            |-- command
                               |            |-- facade
                               |            |-- mediator
                               |            |-- mode
                               |            |-- proxy
                               |            |-- view
                               | - libs
                               |            |-- PureMVC_AS3_MultiCore_1_0_5.swc    (pureMVC框架放這)                       









Step2. Create ApplicationFacade Class   (Facade Class)

  • facade是PureMVC最頂層的管理者,為一個Singleton。
  • 在package main.facade中建立新Class並繼承facade,將其命名為ApplicationFacade.as。




  
                                        


























Setp3.Create StartupCommand Class

  • Command為用來命令Proxy或是Mediator來執行某些動作的Class。
  • 在package main.command 建立新Class並繼承SimpleCommand,將其命名為 StartupCommand.as 。























現在新的結構因該會是 -


PureMVC_Demo
                        |
                         -src
                               | - default package
                               |                               |--PureMVC_Demo.mxml  (應用起始頁面)
                               | - main
                               |            |-- command
                               |            |                   |--- StartupCommand.as
                               |            |-- facade
                               |            |              |-- ApplicationFacade.as
                               |            |-- mediator
                               |            |-- mode
                               |            |-- proxy
                               |            |-- view
















Step4. Create  MainProxy Class
  • Proxy是用來處理Remote的Class,取回後會將資料轉回ValueObject以供使用。
  • 在package main.proxy並繼承
    org.puremvc.as3.multicore.patterns.proxy.Proxy將其命名為MainProxy.as





















Step5. Create MainMediator Class
  • Mediator是用來處理UI組件的互動與呈現,能發出通知請求Proxy向Server端API請求資料。
  • 在package main.mediator建立一個新Class並繼承Mediator將其命名為MainMediator.as。


















做到這裡,就已經把PureMVC起始結構建立起來,下一篇我們將開始在這些基礎結構中寫入初始化與註冊動作的程式碼。



  • PureMVC的View是一個Singleton(獨體),用來管理所有的Mediator,所謂註冊就是使用一個Key對應其Mediator實體將其存放於View中管理使用,而在PureMVC中的View + Mediatro + UI (UI是指Flex中由mxml做成的Components),由此三者構成MVC中的V,簡單說就是PureMVC將其V部分切割成三個角色來運作。


  • PureMVC的Model是一個Singleton,用來管理所有的Proxy,而Model + Proxy + ValueData就構成了MVC中的M了。


  • PureMVC的Controller是一個Singleton,用來管理所有的Command,而Controller + Command就構成了MVC中的C了。


沒有留言:

張貼留言