Re: [問題] 一個MVC pattern和composite pattern的 …

看板Ruby作者 (godfat 真常)時間17年前 (2007/10/12 13:45), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
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)
文章代碼(AID): #173md-Af (Ruby)
文章代碼(AID): #173md-Af (Ruby)