1

プレゼンテーション レイヤーとビジネス レイヤーを個別のプロジェクトとして持つ Web アプリがあります。1 つは Web アプリケーションで、もう 1 つはクラス ライブラリです。Web サービスを使用するために、Web アプリケーションへの Web 参照を追加しました。サービス API の使用に問題はありませんが、この API を利用するためにプレゼンテーション レイヤーに多くのビジネス レイヤー タイプのロジックを追加していることに気づきました。ビジネス層のコードの一部を Web サービスで動作するように変更できればよかったのですが、そのような構成は大きな回覧のように聞こえます。とにかく、オブジェクトが実行していることを継続できるようにしたいのですが、Web サービスでも動作するようにしたいのですが、プレゼンテーション層でヘルパー/マネージャー クラスを作成して Web を操作する必要があります。 -サービス。これにより、サービスに追加したいオブジェクトに対してアクションを実行していたすべての場所で、コードの変更が必要になります。この問題を攻撃する正しい方法は何ですか?

とりとめのないすべての場所に正当な質問があるかどうかさえわかりませんが、誰かが役立つ言葉を提供できれば、私は大いに感謝します.

ありがとう!!

4

3 に答える 3

1

私がこれにアプローチした方法は、この効果のために何かを作成することです:

  • データ アクセス層
  • ビジネスロジック層
  • サービス層 (ビジネス ロジックがなく、インターフェイスのみ)


  • サービス アクセス レイヤー (ビジネス ロジックやプレゼンテーション ロジックがない)

  • プレゼンテーション層 (MVC、プレゼンテーション ロジックなど)

ビジネス ロジックを欠いているサービス レイヤーは、ビジネス ロジックに影響を与えることなく変更できるようになりました。クライアント側のサービス アクセス レイヤーは、サービス インターフェイスの変更からも保護します。

于 2011-06-13T18:48:55.390 に答える
0

サービスレイヤーがサービスのようなメソッド(SaveInvoice(InvoiceDTO)などの単純なCRUDメソッドなど)のみを公開している場合、ほとんどの場合、問題はありません。ただし、あなたの側からいくつかのコードを使用することができます。

サービスレイヤー、ステートフル、非ステートフルなどを構築する方法は本当にたくさんあるので、プレゼンテーションでどのような繰り返しが発生するかを説明してみてください

于 2011-06-13T18:45:28.473 に答える
0

おそらく、サービスにビジネス ロジックもカプセル化する必要がありますか? そうすれば、プレゼンテーション レイヤーはサービスにのみアクセスし、サービスはビジネス ロジック レイヤーにアクセスします。

于 2011-06-13T18:48:24.180 に答える