我有一個symfony2項目,其中包括六個主要的實體類型。我正在使用Doctrine。symfony2 - 擴展基礎實體類還是保持實體無關?
這些實體具有許多相同的字段,例如creatorId,Created,Updated,Status和Title。目前,每個實體都是單獨定義的 - 所以當然,基本代碼(以及db字段也是)有很多重複。
我學習OOP爲我學習Symfony2的,所以我在這裏摸索,但我的問題是這樣的:
難道是考慮到保持各實體爲一個自包含的類最佳做法?或者最好爲共享屬性創建一個新的基類,然後讓其他實體擴展基礎實體?
獎金問題:
如果它實際上是更好地建設從父類繼承的實體,我隱約顯現兩個選項:
1)父類是完全映射主義實體,在數據庫中有自己的表格,我們將稱之爲「哦」,我們稱之爲「節點」。因此,調用子實體將始終涉及Nodes表和Child內容類型實體表之間的其他連接。
2)父類是 - um - 抽象類(?),定義其他實體的共享屬性,但沒有實際的數據庫存在。每個子實體都單獨實現共享屬性,以便DB結構與我當前的設置保持一致,但是在定義實體時可能(可能)重複代碼少。
我主要是在尋找關於整個問題的建議 - 子實體擴展一個基本實體,或者只是單獨的實體。不要期望任何人解釋最好的實現,儘管提示是受歡迎的。
太棒了,非常感謝您對進一步學習的明確答案和寶貴方向。單表繼承與類表繼承正是我在Doctrinese中掌握的術語。 –