Onion Architectureと MVCについていくつか質問があります。
1) ドメイン サービスとアプリケーション サービスの違いは何ですか?
2) Service/Repository/UnitOfWork パターンはこのアーキテクチャにどのように適合しますか?
3) このアーキテクチャは MVC アプリケーションの良い計画だと思いますか?
これについてのご意見は大歓迎です。
Onion Architectureと MVCについていくつか質問があります。
1) ドメイン サービスとアプリケーション サービスの違いは何ですか?
2) Service/Repository/UnitOfWork パターンはこのアーキテクチャにどのように適合しますか?
3) このアーキテクチャは MVC アプリケーションの良い計画だと思いますか?
これについてのご意見は大歓迎です。
DomainServiceは、ドメイン内で使用するサービスです。ApplicationServiceは、ドメイン内で他のレイヤーに公開するサービスです。
どのようなサービスですか?リポジトリは通常、ドメインモデルのインターフェースとして定義されます。ドメインモデルはインターフェースでのみ機能します。具体的なリポジトリは、依存性注入を介してロードされ、インフラストラクチャまたは永続層にあります。
例えば
public class RegistrationService : IRegistrationService
{
private IUserRepository mUserRepository;
public RegistrationService(IUserRepository userRepository)
{
mUserRepository = userRepository;
}
public void Register(string name, string password)
{
var user = new User(name, password);
mUserRepository.Add(user);
}
}
(うまくいけば構文は正しい)
この例のRegistrationServiceはDomainServiceです。一方、WCFサービスはApplicationServiceです。