Event 代表事件發生,Command代表處理動作。
發生--->處理 並不是一對一的,有可能是一對多,或是多對一。
同一個Event的處理動作,不一定會是一樣的,例如 OnActivate Event,對象是Menu的話,要啟動ActiveMenu Command。對象是button的話,要啟動ActiveButton Command。這就是dispatch的動作。
把Command 處理全部寫在CommandHandler上。
Event 的處理:
根據target,轉成Command,再由Command Handler處理。
這就是function : EventOccure(eventName)
所以在程式任何時候應該要產生Event時(例如: Read File Error),就直接呼叫EventOccure( eventName) (例如 EventOccure("ReadFileError") )。
這像自然會找到正確的CommandHandler來處理。
當然,也有可能會造成re-entrant的情況:
Event --> CommandHandler --> Event --> CommandHandler...
網誌存檔
-
▼
2006
(434)
-
▼
1月
(29)
- 陰天...
- NAS的幾個Package : FreeNAS & NASLite
- ViewML : Open source web browser for embedded linu...
- 鉭質電容 :some informations..
- 筆記 : microwindow
- Sign, Unsigned 和 shift right
- 奇怪的Panel
- ar : library (archieve) 操作,用在抽換object file上..
- 紀錄一下,Qt/Embedded 的 download path
- ssh client for Mac OS9 : MacSSH
- pdf 產生/轉換 程式: CutePdf Writer
- Developement Platform Setup Log
- 猜一猜,是那一台?
- Event 與Command
- outlook 已經沒辦法自動開啟jpeg檔..
- 變數宣告的注意事項 : 多種平台的reserve word都要避開
- Turbo C 2.0 - download install and Test
- FAT已經認可為MS所擁有的patent
- 發現: TinyXml, 原來是zlib license
- microchip - hilosystems燒錄器 燒錄問題
- microchip - hilosystems燒錄器 燒錄問題
- 串連"反台鐵誤點"
- Server 又重啟動..
- Linux Media Center PC 怎麼了?
- Makefile 真是超難寫....
- acer 1621 lspci
- Redhat 9 的支援 - legacy Fedora
- memo - 樓上的測試房間
- VI 的學習
-
▼
1月
(29)
沒有留言:
張貼留言