クラスの関連付けに関しては、DAO クラスを整理する最良の方法を考えています。
例えば。Customer テーブルと Order テーブルがあり、顧客に関連付けられた注文にアクセスしたいとします。たとえば、getCustomerOrder(int customerid, int orderid) のようなメソッドを配置するのに最適な場所はどこですか?
顧客クラス?クラスを注文しますか?CustomerOrder クラス?
クラスの関連付けに関しては、DAO クラスを整理する最良の方法を考えています。
例えば。Customer テーブルと Order テーブルがあり、顧客に関連付けられた注文にアクセスしたいとします。たとえば、getCustomerOrder(int customerid, int orderid) のようなメソッドを配置するのに最適な場所はどこですか?
顧客クラス?クラスを注文しますか?CustomerOrder クラス?
getCustomerOrder(int cusomerid, int orderid)
します。これは、実行時にクラス インスタンスの仮パラメータに必要な値が Customer クラスと Order クラスの両方のスコープ内にある必要があるためです。中央のピボットまたはテーブルの良い例については、このリンクが気に入っています
私は実際にそれらのどれも使用しません。Customer クラス、Order クラス、および CustomerOrder クラスは、すべてビジネス ドメインに関するクラスです。getCustomerOrder(int customerid, int orderid) メソッドは、データを永続化する方法に関するものです。さまざまな理由 ( SoC、SRPなど... など) で、データを永続化したい場所にデータを永続化する処理を行うクラスを配置します。1 つのオプションは、DBPersistenceSystem などです。getCustomerOrder(int customerid, int orderid) または getCustomer(int customerid) または getOrder(int orderid) のコードはかなり似ているため、これも役立ちます。それらすべてを同じクラスまたはクラスのセットに入れると、最終的により良い設計になります。