希望为我计划构建的RoR应用程序的建模决策提供一些指导。它将是一个托管多个租赁供应商的租赁平台。我假设以下类和/或模块,我的问题是关于建模,组合和继承。我想以下类和/或模块:
借助我上面列出的方式来说,任何缺乏清晰度的借口,我都是OO和编程的新手。我可以对我的下面的想法有任何想法和建议吗?上述对象的最佳建模:
对上述任何帮助表示感谢,谢谢。
答案 0 :(得分:0)
我的想法是,产品应该是一个模块(?),就像其他类一样 “有产品”,而不是“产品”吗?
我更喜欢将Product设为AR :: Model。事实上,它是一个独立的实体,具有自己的行为和状态。如果我理解了一切,那么它就是你应用的核心模型。
我不确定我是否需要一个产品库(只是它 products.all?)?
如果您将拥有一些复杂的产品搜索逻辑,那么您应该制作类似ProductRepository的东西。在此处查看存储库模式:http://msdn.microsoft.com/en-us/library/ff649690.aspx。
由于有多个供应商,每个供应商都有不同的产品 范围/目录,我需要一个VendorCatalogue对象来包含每个 供应商产品对象的唯一集合。这是最好的方法吗? 这样做?
当然你应该制作这个对象。
应该让供应商和客户从父帐户类继承 保持干燥?
这取决于你的逻辑。如果客户和供应商都有一些帐户,包括交易,提款等,那么您可以同时包含两个帐户模块。 不过要小心。你应该想一想。如果它们具有不同的逻辑,那么它们中的每一个都应该具有CustomerAccount或VendorAccount。
最合情合理的地方是建立产品吗? class / module,ProductsLibrary(如果是rqd),然后是Vendors VendorCatalogue,然后是Customers,然后是Orders?
我认为这个顺序足够好了。