0

サービス層オブジェクトは DAO 層オブジェクトを "サービス" できますか? それとも、これは適切に階層化されたアーキテクチャの整合性に違反していますか?

例えば、

class MyService {

}

class MyDao {
     private MyService myService;
}
4

2 に答える 2

3

私はそれをしません。DAO はデータベースを扱うべきです。サービスは、ユース ケースを満たすために他のサービスと DAO を管理します。サービスが DAO やその他の必要なサービスを呼び出すようにしたほうがよいでしょう。

この配置では、循環依存のリスクがあります。

于 2012-10-14T18:53:49.750 に答える
0

DAO オブジェクトを使用してサービスを構築する標準的な方法は、サービスに DAO をカプセル化させることです。

public class Service {
    private DAO dao;
}
public class DAO {}

これは、たとえば、サービスが複数の DAO オブジェクトをカプセル化できるようにしたり、サービスのトランザクション境界などの追加ロジックを提供したりするのに役立ちます。

于 2012-10-14T18:54:17.910 に答える