1

頭のてっぺんから、サーバー側のタスクを 1 つの大きなサービスとして記述し、そのサービス内にすべての dao オブジェクトを注入することを考えています。次のようなものです。

public class MyServiceImpl extends RemoteServiceServlet implements MyService {
@Inject 
MyDAO1 myDAO1;
@Inject 
MyDAO2 myDAO2;
@Inject 
MyDAO3 myDAO3;

...
//20  methods
//
}

1 つの大きなサービスが進むべき道なのか、それとも他のより良いパターンがあるのか​​?

4

1 に答える 1

0

タスクの「ドメイン」ごとにサービスを構築する必要があります。たとえば、ユーザー管理のサービスでは、新しいユーザーの登録、パスワードの回復メールの送信、ユーザーの一時的な無効化、現在有効なユーザーのリストの取得などを行うことができます。

Patterns of Enterprise Application ArchitectureMartin Fowler ( http://martinfowler.com/books/eaa.html )で説明されている ServiceLayer パターンを参照することをお勧めします。

サービス層は、アプリケーションの境界 [Cockburn PloP] と、クライアント層とのインターフェイスの観点から利用可能な一連の操作を定義します。アプリケーションのビジネス ロジックをカプセル化し、トランザクションを制御し、その操作の実装における応答を調整します ( http://martinfowler.com/eaaCatalog/serviceLayer.html ) 。

于 2013-11-27T20:35:02.667 に答える