我正在和一些同事一起在網站上工作,我們在如何看待班級架構方面存在一些差異,所以我也發佈了這個帖子,看看大型社區對這個問題的看法如何,因爲我認爲很多人都是在類似的情況下。採取什麼樣的方法與類和類架構?
我們正在使用通過活動記錄模式實現模型的MVC方法。其中一個模型是與我們的數據庫中的產品表相關的「產品」模型。 事情是,我們有兩種主要類型的產品 - 有形(類型= 1)和非有形(類型= 2)。在整個代碼中,我們將擁有大量與此類產品相關的邏輯。 (如果有形做到這一點,如果沒有,那麼...)
所以一種方法是 - 創建類有形產品和非有形產品,並通過工廠獲取一個或另一個。當然,這些類將會有重複的方法,即在兩個類中都會存在isTangible()或isNonTangible(),但在一種情況下會返回true,而在另一種情況下會返回false。 (這只是一個例子)。 我期待在類中看到至少約30種不同的方法,這些方法將根據產品類型返回不同的值。
另一種方法是隻有一個Product類,並且在每個方法中實現IF塊,並且在產品是有形的或無形的並返回結果時執行邏輯。
我知道這是一個模糊的問題,但我認爲最誰是在面向對象的環境中工作的人不得不在某些時候類似的情況......
你看到在選擇任何長期後果一種方法比另一種方法更好或更差嗎?
編輯: 對不起,我可能不太清楚。這兩個類將擴展Product類。 (即「類TangibleProduct擴展產品」和「類NonTangibleProduct擴展產品」)
感謝名單