2012-07-09 69 views
1

我想知道最好的方式组织DAO类谈到类关联。组织DAO类

例如。比方说,你有一个客户表和一个订单表,你想要访问与客户关联的订单,那里是最好的方法,例如getCustomerOrder(int customerid,int orderid)?

客户类别? 订单类? CustomerOrder类?

回答

0

此链接,枢轴或表的一个很好的例子,我会使用那些没有实际。 客户类,订单类和CustomerOrder类都是关于业务域的类。 getCustomerOrder(int customerid,int orderid)方法是关于如何保存数据。对于许多不同的原因(如SoC,SRP等等),我会在一个类中处理将数据保存到任何想要保存它的地方。一个选项可能是DBPersistenceSystem或类似的东西。这也将有所帮助,因为getCustomerOrder(int customerid,int orderid)或getCustomer(int customerid)或getOrder(int orderid)的代码将非常相似。如果你把他们全部放在同一班或同一班,你最终会得到更好的设计。

0
  • 看起来好像您使用的是CustomerOrder类(中间的表格)。
  • 客户和订单之间的关系是C * .. * O}(多对多)。
  • 我建议将getCustomerOrder(int cusomerid, int orderid)放在这个类中,因为在运行时类型实例的形式参数所需的值应该在Customer类和Order类的范围内。
  • 如果CustomerOrder是中间的表,那么相关表模式的参照完整性应具有强制执行此用法的约束。

我喜欢在中间

pivot table