この特定の問題に対処するための質問は見つかりませんでした。 サービス(またはファサード)が複数のDAO(データベースと通信するクラス)または他のサービスにのみアクセスできるようにするにはどうすればよいですか?サービスがいくつかのDAOまたは他のサービスにしかアクセスできないようにするにはどうすればよいですか
言い換えれば、異なるサービスクラス間の相互依存関係を導入すべきか、複数のDAO(必要ならば)を各サービスクラスに注入することによってサービスクラスを完全に独立させる方が良いでしょうか?
私は両方の戦略が仕事をすることがわかりましたが、私は一貫性を持たせ、可能な限りモジュール化して保守可能なアプリケーションにしたいと考えています。
だからである「基本サービス」の特別クラスを作成することをお勧め「通常の」サービスで使用できる唯一のサービスですか?また、サービス間でDAOを共有することができます(たとえば、他のサービスで使用するためにDAOメソッドをラップするのを避けるなど)。私にとって理にかなっていますが、これは混在戦略のようなものです(コードが一貫性のないものになっても、しばしば混在戦略が最適です)。 – Renato
特別な 'BasicService'を作ることは、あなたが気に入ったらそれを行うことができます。私は通常それらのうちのごく一部で終わったので、決して終わらなかった。したがって、それは独立したサービスへの傾向を持つ混合戦略です。 – madth3