2010-12-20 5 views
1

ドメインサービスは、サービスインターフェイス経由でドメインエンティティから呼び出すことができます。 EG-についてはドメインエンティティからドメインサービスを呼び出す

employee.Fire()IEmployee発火サービスを呼び出します。私は具体的なものではなくInterfaceを通して呼びかけています。

これは可能ですか?

+2

可能な場合はありますか?インタフェース参照の使用?サービスを呼び出す?これが正しいDDDかどうか尋ねていますか?あなたの質問は明確ではありません。それを明確にしてください。 – Oded

答えて

0

迷惑をかけずにこれを行うことはできますが、ドメインエンティティでドメインサービスを呼び出すことをお勧めします。

通常、アクションが複数のエンティティに影響を与える場合、論理をサービスメソッドに入れます。したがって、火災アクションが現在の従業員だけに影響を及ぼす場合は、employee.Fire()内にカプセル化する必要があります。それ以外の場合は複数の従業員に影響を与え、サービスを開始し、アプリケーションはemployee.File()の代わりにservice.Fire()を呼び出す必要があります

関連する問題