我有一系列的繼承對象,它們只是在類之間的幾個字段之間非常相似。這個類層次結構的基礎是一個抽象類,它包含許多後續對象應該具有的幾個字段。事情是這樣的:DRY主體與MVC中的輕/薄視圖相似/繼承的對象
abstractBase
obj1 : abstractBase
obj2 : obj1
obj3 : obj2
顯示這些對象基本上是相同的所有的人的看法,我只是引入新的div來顯示不同的數據。由於我對MVC相當陌生,因此我只有兩個主要選項:
一種方法是爲每個具體對象創建強類型視圖。每個視圖都非常相似,但對於基礎對象略有不同。在我看來,這違反了DRY本金,因爲每個觀點的90%或更多內容將在下一個內容中重複。但有意義的是,這些觀點將沒有任何重要的邏輯。
另一種方法是將視圖綁定到基本抽象類,然後引入對繼承類的檢查以確定是否需要渲染某些東西。例如:
if (Model.baseObject is obj3){ render out the special fields }
好的,我不會違反DRY本人,我認爲這是一件好事。但在不利方面,這些觀點將包含邏輯。據我所知,這是或多或少皺起了眉頭。
- 有沒有人有過類似的情況?
- 你採取了什麼方法?
- 是否有另一個選項我沒有看到/沒有意識到?
現在我正在傾向*傾向較重視圖和較少冗餘代碼。它會更好。
感謝
謝謝mhornfeck。我正在尋找錯誤的條款。那篇文章很棒。 +1 Shyju,我仍然在反對強烈類型的觀點,我只是在調整我即時「綁定」的內容。但是現在我想到了你在說什麼......部分視圖根據它們插入的視圖繼承了它們綁定的內容。所以它們也可能適合我的需要。唯一的缺點是我仍然看到多個視圖=控制器中的多個actionevents =更多重複的代碼。 + 1 我仍然有點撕裂,因爲我正在做的事情可能過於複雜......但結果是減少重複... – 2012-03-20 03:26:51