2012-07-09 70 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