作者godfat (godfat 真常)
看板Ruby
標題Re: [問題] 一個MVC pattern和composite pattern的 …
時間Fri Oct 12 13:45:32 2007
fix typo
※ 引述《jackace》之銘言:
: 假如我的model中用到composite pattern 例如
:
: A <---- B
: A <---- C
我看不出來這跟 composite pattern 有什麼關係?
composite pattern 是指自己包含自己喔...
如
class Thing; end
class Container < Thing; end
然後 Container 裡只能放 Thing, 而 Container 本身也是 Thing,
所以 Container 裡可以放 Container.
(不過在 duck typing 下,談這個意義似乎沒有很大)
你的圖例看起來只是簡單的繼承而已
: 那麼在view中 如果要在遇到A,B,C時 在畫面上畫出不同的圖形
: 有辦法規避掉
: if(p instanceof A){
: .....
: }else if(p instanceof B){
: .....
: }else if(p instanceof C){
: .....
: }
: 這樣的寫法嗎?
我不知道你為什麼會碰到這個問題,可能要把情形講得更清楚?
但如果只是單純有 is_a? switch 的問題,
可以考慮用註冊的,如註冊到 hash 中。
如果是有雙重以上的 dynamic binding 問題,
請洽 multi-method.
p.s. 你是在寫 Ruby 嗎?看起來不像?比較像 Java 啊...
--
『風車』が廻り続ける度に 『美しき』幻想が静かに紡がれ
『焔』の揺らめきの外に 『腕』を伸ばす愚かな者達 -《Roman》5th Story
『宝石』をより多く掴もうと 『朝と夜』の狭間を彷徨い続ける Track 10
『星屑』の砂の煌めきにも 『葡萄酒』の仄甘い陶酔を魅せ 黄昏の賢者
『賢者』が忌避する檻の中から 『伝言』の真意を彼等に問うだろう
『天使』が别れを告げし時 『地平線』は第五の物語を識る
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.21.237
※ 編輯: godfat 來自: 220.135.28.18 (10/12 23:18)