Re: [模式] command pattern及MVC的問題

作者: lovemage (要用功)   2009-08-20 21:09:14
※ 引述《kanandg1 (臻@kanandg1)》之銘言:
: 可能是對design pattern不是甚熟
: 我一直對command pattern有疑問
: 在該pattern中,常常某個command是針對特定物件做操作的
: 舉例:開跟關的command可能是針對"電燈"、"電扇"
: 而音量大小等等command可能是針對"電視"
: 請問這些受詞(不太會描述,或稱operand?被操縱者)的reference
: 該何時被設定到command中呢?
: 之前我都是看到在建構子時......不過總覺得這樣不夠一般化
: 這樣做常常使得在create command處的程式碼變得亂七八糟且
: 相依很嚴重
: 另外想問MVC中是否有完全切開且較美觀的作法?
: 我在寫Java swing時一直想把UI跟事件(邏輯)的部份拆開
: 一方面是我找不到有小型framework可支援
: 而且一般來說,事件邏輯裡操縱著的,常常是UI元件
: 精華區內只有提到VC常常在一起(對阿!)而似乎沒說明如何分開
: 是不是能請前輩們舉例某些小型的framework在這部份
: 處理的不錯的?
: (我並不是想伸framework,而是想知道solution的架構長啥樣子,thx)
design patter使用經驗與理解還沒有深刻到可以在這討論, 跳過
沒用過swing, 但是分享一點用JSF的不成熟經驗
我猜你說的事件是指UI logic, 這部份是寫在controller裡, 除非兩個UI真的長的
一模一樣, 不然一個UI我是跟一個controller綁在一起, 因此UI也是最難以共用的
我們公司的做法是, UI設計師寫出UI + controller, 也就是VC的部份, programmer
寫logic model的部份, 兩邊mapping是用一層service的概念去做溝通, 比方說UI
那邊要哪些物件先討論好, programmer搞定後會跟UI說要用哪個service, 兩邊不用
知道對方是怎麼做到的, 而從service就很好被其它controll或service共用了
至於UI元件跟UI logic能不能分的開, 理論上應該是可以, 但我目前還沒看到漂亮
的實例, 我們有另一個專案UI用Flex聽說是辦的到, 不過自己還沒用所以不敢講,
真的做到再來分享
謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com