2010年1月21日 星期四

PureMVC筆記

一.framework基本流程
  1.產生主要mxml,設定檔名為APP NAME
    1.在script內利用 facade.getInstance()取得唯一的facade
    2.在createComplete時執行facade.startup(this)
  2.產生一個ApplicationFacade當主要入口
    1.設定所有在程式內要用來傳遞notication的Command名稱
    2.在initializeController內利用registerCommand
      註冊主要的command,把設定的notication名稱跟對應的
      Command class都寫在這裡
    3.在startup內sendNotification(STARTUP),用來執行
      StartupCommand
  3.StartupCommand
    1.若是extends MacroCommand    
      則override initializeMacroCommand()
      在裡面
      addSubCommand(ModelPrepCommand);
      addSubCommand(ViewPrepCommand);

    2.若是extends SimpleCommand
      則是override execute()
    注意,當使用sendNotification(CommandClass, app);
         將參數送到command內,若是simpleCommand,可以使用
         execut(note)內note.getBody()取讀傳入參數
         若是使用MacroCommand,其initializeMacroCommand()
         並沒有直接接收到note參數,而是initializeMacroCommand()
         內的addSubCommand()所加的Command的execute會取得note物件  
  4.ModelPrepCommand
    override execute()
    在裡面registerProxy 註冊所有的proxy,讓這些proxy
    都可以與整個notification共通
  5.ViewPrepCommand
    override execute
    在裡面registerMediator註冊所有的Mediator,
    或是只註冊一個APPlicationMediator
    再到Application內註冊其他mediator
  6.ApplicationMediator
    在建構子內registerMediator註冊其他的mediator
    當mxml利用startup(this)把自己傳進來時,
    再把this傳給ApplicationMediator時 
    要讓ApplicationMediator使用這個mxml UIComponent
    在傳入this時,this會被判定成mxml檔名的class
    所以一定要import 這個mxml所在路徑

二.各項物件的限制與必要設定
1.mxml        
  定義各項視覺物件,並可對物件觸發事件設定dispatchEvent
  若使用自訂component請在namespace內定義
2.facade
  以public static的方式定義要當作Notication
  傳送的Command名稱        
3.mediator
  1.mediator利用addEventListener與mxml上的物件做直接
    的訊息通知
  2.mediator可以接收並發送notification
    接收來自於command或是proxy的notification
    傳送notification給command
3.command
  1.必要override execute或是initializeMacroCommand
    要做的事放裡面
2.command內可以傳送與接收notification
  傳送給mediator
  接收來自mediator或proxy的notification
3.command內可直接操作proxy
  透過facade.retrieveProxy(ProxyClass.NAME)取得
  proxy實體,再由這實體直接去操作proxy
4.proxy 
  1.proxy只發送不接收notification          

三.mxml上觸發指令,如何跑完整個流程
  例如:要在使用介面上按一個send按鈕上,把登入資料送到server
      驗證取得回傳結果,顯示
  1.在mxml使用介面
    在button上 設定click event去dispatchEvent,
    在對應的mediator上設定addEventListener準備接收
  2.當mediator接收event時,透過viewComponent取得使用者
    輸入的帳號密碼資料,儲存成vo物件
    利用sendNotification把 notification送出去
  3.command在接收到notification時,將取得的vo物件當作參數
    執行proxy的function
  4.proxy與server傳輸驗證取得結果後
    利用sendNotification發出結果
  5.mediator接收到notification時改變外觀顯示 

四.mediator如何接收指令並改變view外觀
  1.mxml與mediator
    由mxml dispatchEvent,在mediator內addEventListener,
    互通訊息

  2.傳送 mediator與command
    mediator sendNotification,command handle notication
  3.傳送 mediator與proxy
    不建議直接溝通
  4.接收 mediator與command
    command sendNotification,mediator handle notication
  5.接收 mediator與proxy
    proxy sendNotification,mediator handle notication

2009年10月15日 星期四

夜- 方向感

凌晨2點,果凍妹終於乖乖的在床上睡著
夜晚的寧靜,該是大地都進入睡眠狀態的時候
我還在電腦螢幕前,竭盡腦力的敲著鍵盤
眼睛有點迷濛,反應思考也慢了下來
昏睡感逐漸侵蝕著我的腦袋
我的身體

一杯熱呼呼的咖啡,在這時候感覺格外溫暖

想到今天在StreetVoice聽到的那首歌

戴上耳機,把音量調到夠大的狀態
按下播放鍵,閉上眼
感受 1976方向感裡,那好聽到讓人起雞皮疙瘩的吉他音線


樂團:1976
專輯:方向感
年份:2000

喜歡灰暗的天氣 這杯咖啡和這一隻煙
妳和我的低調氣氛 是唯一的矛盾
櫥窗裡面的倒影 真的是同樣的兩個人
杯子裡面上昇的氣泡 還是一樣的消失

我並不想成為誰的指南針
也許妳該學習相信 自己的方向感

失蹤很久的鑰匙 原來一直在妳口袋
金屬撞擊的時候 某些部分的我又醒過來
地下道裡安靜的箭頭 終於再也不會迷路了
錯綜複雜的開始 勇往直前的出口

我想往前進 我想往後退 我想轉個圈
我想關上燈 我想閉上眼

我並不想成為誰的指南針
也許妳該學習相信 自己的方向感

2009年9月17日 星期四

Alison - 五股時光




有一天 在Gmail上 看到亮亮的留話
跟我說 聽到一些音樂 忽然想起了我這個已經離開的朋友

那是一段苦悶的時光
就像是黃舒駿"窗"理的小閣樓
躺在三重公寓裡 破舊的彈簧床上
望著天花板 假日外頭光線明亮
我卻不想走出房門

我在工作上是挫敗的 離開了復興南路
躲到與熱鬧台北東區截然不同的五股工業區
這裡是管理嚴謹的傳統產業
沒有msn 沒有下午可以隨時下樓買個咖啡的自由

像是隔離在一個封閉的底層
自由慣的我 有些不能呼吸
疏離感強烈的我 總是靜靜的一個人吃飯
靜靜的在我的座位上 做著我該做的工作
然後 下班 離開

同事 是沒有聲音的一群
也許因為這是傳統公司的氣息,讓大家習慣了這樣
我在安靜中看到許多友善的微笑

那年的七月 我這個部門新人在這裡度過了一個溫暖生日
這裡的祝福我放在心上

我像是個過客
匆匆的來又匆匆的離開

在工作時,我總是戴起耳機進入我的世界
享受心理片刻的自由
亮亮常問我聽些什麼
我說 你聽看看
這是我很喜歡的音樂

Everything But The Girls的這首Alison
就成為記憶與五股連結的一部分

專輯:Acoustic
年份:1992
歌手:Everything But the Girl

2009年8月3日 星期一

我的SimpleLife

2006年冬天的11月,德國已經下起了雪,高雄還是可以穿著短袖的天
開始了失業的生活,也開始適應回到高雄的日子
雖然是自己的家,但已經是10幾年沒有在這,一天過著一天

11月底馬世芳的"地下鄉愁藍調"發行了
在台北買書,不是到重慶南路就是到誠品
現在就覺得博客來真是個方便的地方

騎著摩托車,到家附近的7-11領我的書,看著店門口貼著SimpleLife海報
台北,演唱會,忽然變成了很遙遠又陌生的事
一個沒機會參與的生活

高雄 還是一樣的藍天 白雲 與陽光

2008年冬天的12月,我站在台北華山 SimpleLife現場
短袖的工作服下,襯著黑色的長T,雖然是大太陽下
還是感到微微的寒意,
風和日麗的天氣,到處是音樂聲與歡笑
彷彿 一切都是那麼美好
我坐在大門旁的帳棚內,看著人來來往往

2009年8月,超過36度的高溫,炎熱的太陽 睜不開眼的陽光
我在辦公室裡,耳機裡是Javis Cocker的歌曲
想起了 那個週六的夜晚
坐在草地上 大家一起跟著舞台上的Javis唱著

想起了那天的音樂
想起那天的感動
這是我的SimpleLife