希望能夠爲我打算構建的RoR應用程序的建模決策提供一些指導。這將是一個租賃平臺,承載多個租賃供應商。我假設以下類和/或模塊,我的問題是關於建模,組合和繼承。我想下面的類和或模塊:面向對象的建模建議
- 產品(模塊包括在ProductLibrary,VendorCatalogue和訂單?)
- 產品庫(每一個可能的租賃項目,產品的has_many對象,1..N的產品)
- 供應商(1..1與供應商目錄,1..n與訂單)
- 供應商目錄(has_many'產品庫對象'的產品和每個'供應商'的個人,1..1與供應商)
- 客戶(1..n訂單)
- 訂單(由供應商目錄中的產品,1..1與客戶,1..n與產品和n..1與供應商)
- 也許應該有一個帳戶類與普通帳戶屬性和方法,這兩個供應商和客戶繼承?
對於我上面列出的方式,不要有任何不明確的地方,我是OO和編程的新故障。對於我下面的想法,我能有任何想法和建議嗎?上述目的的最佳造型:
- 我的想法是,產品應該是一個模塊,如其他類「對我們的產品」,而不是「爲產品(?)?
- 我不確定我甚至需要一個產品庫(它只是products.all?)?
- 由於有多個供應商,每個供應商有不同的產品範圍/目錄,我確實需要一個VendorCatalogue對象來包含每個供應商獨特的Product對象集合。這是做這件事的最好方法嗎?
- 應該讓供應商和客戶繼承父帳戶類以保持DRY?
- 建立Products類/模塊,ProductsLibrary(如果rqd),然後是Vendors,VendorCatalogue,然後是Customers,然後是Orders,最合理的地方是開始嗎?
對上述任何幫助表示讚賞,謝謝。
感謝斯坦尼斯拉夫,思考,研究和了解更多關於答案中的要點。例如。直到今天才聽說版本庫模式;)感謝您的指導。 – jbk 2014-11-23 14:18:00
如果我幫了你,這將是偉大的,如果你標記我的答案是正確的:) – 2014-11-23 14:20:17
順便說一下,AR ::模型是一個簡單的軌活動記錄模型,沒有什麼複雜 – 2014-11-23 14:21:22