販売および在庫管理システムを実装したいのですが、システムに依存性注入を適用する方法について混乱しています。データベースを使用してデータを永続化するインベントリ クラスが必要です。DBConnectionManager などのデータベース接続を処理するクラスが必要です。次に、DBConnectionManager を使用して DB と対話するデータベース層 DBWrapper が必要です。 Inventory、Users、Customers、SalesなどのDBおよびDBを使用するクラス。または、各ユーザー、顧客、....クラスにSQLコードを書く必要があります。
2 に答える
リポジトリパターンを試しましたか?
DIで使用するのは素晴らしいことです。接続と、更新、削除などの基本的な操作を保持するルートクラスを構築します。
次に、そのクラスを拡張して、より意味のある名前でより具体的な動作を作成します...
ここにそれについてのリンクがあります
http://nhibernate.hibernatingrhinos.com/27/the-repository-pattern
IMO、 dbアクティビティ/操作用にDAOインターフェースを作成する必要があります。この DAO インターフェイスには、データを保存/取得するための一般的な操作があります。次に、クラスにこの DAO インターフェイスを実装させることができます。1 つのクラスはデータベースの永続性を有効にし、1 つのクラスはテキスト ファイル ベースの永続性 (必要な場合) を有効にします。
データベース実装の DAO にはjava.sql.Connection
、データベースへの接続を可能にする参照があります。依存関係メカニズム (Spring や Guice など) を使用して、実行時に DAO インターフェイスと接続オブジェクトの両方に適切なインスタンスを挿入します。
基本的に、インターフェイスの観点から考え、継承よりも構成を優先することを学びます (コードの重複を避けるために継承を使用することをためらわないでください。スーパークラスがコントラクトの一部を形成しないか、公開されていないことを確認してください)個人的には、モジュールの観点から (依存性注入のコンテキストで) 考え始める方法については、Google Guice のドキュメントが良い情報源であることがわかりました。