サービス層は外層ですか?そうでない場合、それはどの層に属しますか?

StackOverflow https://stackoverflow.com/questions/1838298

  •  11-09-2019
  •  | 
  •  

質問

サービス層は外層ですか?そうでない場合、それはどの層に属しますか?

返信してください

ありがとう

役に立ちましたか?

解決

システムはさまざまな方法で編成できます。階層化されたアーキテクチャは 1 つだけではありません。私は「外層」という言葉を使ったことはありません。同じシステムを論理アーキテクチャ、物理アーキテクチャなど複数の方法で分析することも合理的です。

私たちがあなたの質問に答えることができるのは、議論中のアーキテクチャでどの層を選択したかがわかれば、サービスがどこにあるのかを理解できるはずです。あなたは「外側」についてしか話してくれませんでした。私たちはそれに代わるものがあるのか​​知りません。

私は通常、プレゼンテーション、ビジネス ロジック、永続性について考えます。この場合、サービスはビジネス ロジック層にあります。

サービスをシステムのパブリック インターフェイスと考えるのは非常に合理的であり、ある意味ではサービスは「外側」層に位置すると思います。

コメントに応じて追加されました:

これに対する単純な答えはありません。それはすべて、「サービス」が何を意味するのか、そしてレイヤーが何をしているのかによって決まります。具体的な例を見てみましょう。UI が請求書の詳細を表示したいとします。サービスを作成することを選択するかもしれません

InvoiceDto getInvoiceDetails(int invoiceNumber)

それはかなり明らかであるように思われます 実装 このサービスの機能はビジネス ロジック層にあります。そして、インターフェイスは、レイヤー間の通信方法に応じて、単純なライブラリまたは Web サービスになる場合があります。

次に、そのサービスを顧客に公開して、顧客のアプリがインターネット経由でサービスを呼び出せるようにすることにします。Web レイヤーには、REST サービスを公開するコードが含まれる可能性があります。

http://dave.org/service/invoice/nnnn

明らかに、Web 層で実行されている少しのアダプター コードがあり、そこで認証などを管理できます。しかし、そのサービスはどこにあるのでしょうか?そのアダプターだけですか?それはビジネスロジックですか?両方ですか?

私の考え方では、本当のサービスはビジネス層で実行されるロジックであり、残りは単なる配管です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top