0

私はこの質問についてよく考えましたが、これについて明確な答えを見つけることができませんでした:

前回理解したように、ビジネス レイヤーはモデル オブジェクトでのみ動作する必要があります。このデータを取得した方法と取得元については何も知らないはずです。これにより、DAO とは独立してビジネス レイヤー API を使用できます。

それで、サービスレイヤー内でDAOメソッド呼び出しを使用するのは正常ですか、それともそれらの間の依存関係を減らすようにする必要があります. したがって、レイヤー間の関係には 2 つのバリエーションがあります。

  1. コントローラ –> サービス –> Dao
  2. 1 ステップ: modelObject = Controller –> Dao
    2 ステップ: Controller –> Service (modelObject)

では、どのバリアントが正しいのでしょうか?

4

1 に答える 1

0

古いアーキテクチャでは、2 層のクライアントとサーバーがありました。サーバーはすべてのデータベース情報とロジックを保持しています。しかし、3 層アーキテクチャは明確なカプセル化とレイヤー間の明確な抽象化をもたらしました。クライアント層はサービスを直接呼び出すのではなく、プロキシを使用してサービスを呼び出します。サービス.したがって、中間層にあるサーバーのプロキシ呼び出しサービスを介したクライアント.中間層では、データベース関連のものを含まないコントローラー、サービス、serviceImpl、モデルがあると想定できます。層。3 番目の層にはデータベースがあります。db 関連の結果を返すためのコンテナーとして dao を想定します。クライアントはサービスを介して呼び出しを渡し、dao はサービスを介してクライアントに結果を渡す必要があります。

于 2012-12-04T11:47:14.357 に答える