我被困在一個奇怪的設計問題,單個表繼承和在哪裏在Rails中使用它
我在兩型曲線模型的工作,
- 用戶配置文件(屬於用戶)
- 其他人都在現場維持爲「機器人」(不屬於任何人)
這兩種類型的配置文件的典型OO行爲是相同的,但只是重要的屬性/屬性常見的(非常重要的5-6),其他屬性如「興趣等」(近10-15個屬性)不適用於機器人配置文件
此前編寫過的編碼器創建了單獨的模型/控制器機器人配置文件/用戶配置文件,這些配置文件在任何地方都會產生大量的冗餘,並且如預期的那樣難以維護,編寫測試等。我想幹這個,至少解決一些/所有這些冗餘問題。
有人建議單表繼承作爲解決
有人建議使用多態關聯代替。
什麼是更好的方法。我們什麼時候實際使用STI?
我自己的想法是,當模型的屬性相同且行爲不同時,STI最適用。
關於我該怎麼辦的想法?
我想要試驗性病,我想。但是如果我只有幾個共同的屬性,我可能會遇到什麼問題? – 2009-02-17 08:37:15
處理控制器的另一種方法是對它們進行子類化,就像模型重構一樣,可以在它們之間共享通用方法。 – 2009-02-17 09:54:04
@Andrew:IME,除了(相對少見的)裸骨架腳手架CRUD情況外,它幾乎不像模型的子類一樣工作。 – womble 2009-02-17 20:55:12