MVC アプリケーションを開発するときに誰もが完全なアーキテクチャを使用しているわけではないことは承知していますが、次のアーキテクチャがあると仮定しましょう。
App.Core --> Class Library (POCO or Domain objects)
App.Data --> Class Library (Repository and Entity Framework)
App.Service --> Class Library (Service layer with all business logic)
App.Web --> asp.net MVC 3.0 project
App.Data --> Has a reference to App.Core
App.Service --> Has a reference to App.Core and App.Data
App.Web --> Has a reference to App.Core and App.Service
MVC アプリケーション内では、次のアプローチに従うようにしています。
- Controller 内 (メソッド内) で、ViewModel をインスタンス化します。
- その ViewModel 呼び出しメソッドを App.Service Layer から埋めます
- ViewModel が満たされると、それを View に戻します (ビューは厳密に型指定されます)。
これは 99.9% の確率で発生します。それはきれいで、私たちはそれが好きで、それ自体をかなりうまく活用しています..など!
今私の質問は次のとおりです。
アプリケーションを MVC 4.0 に移行し、新しいWeb APIアプローチの使用を開始することにした場合、それが現在のアーキテクチャのどこ (またはどのように) に適合するかを完全に理解できるかどうかわかりません。
私たちはこれを変える用意があることを心に留めておいてください!
App.Service と App.Web の間に配置する新しい App.WebAPI レイヤーを作成する必要がありますか? これは、コントローラー内で App.Service を直接呼び出す必要がなくなり、代わりに新しい App.WebAPI レイヤーを呼び出すことを意味します。
または、Web API を App.Web レイヤー内に残して、コントローラーが他の APIControllers を呼び出すようにし、それが App.Service レイヤーを呼び出しますか?
ここで何か意味があるかどうかはわかりませんが、さまざまな情報に興味があるので、遠慮なく提案してください。
ありがとう