ドメイン駆動設計で工場を実装する方法を知りたいです。(例)
ファクトリのインターフェイスと実装はどこに配置する必要がありますか? ファクトリが作成する Domain オブジェクトのインターフェイスを作成する必要がありますか? リポジトリ、サービスなどのファクトリを作成する必要がありますか?
Dependency Injection Containers を使用していますが、それらを factory と組み合わせるにはどうすればよいですか?
ありがとう。
ドメイン駆動設計で工場を実装する方法を知りたいです。(例)
ファクトリのインターフェイスと実装はどこに配置する必要がありますか? ファクトリが作成する Domain オブジェクトのインターフェイスを作成する必要がありますか? リポジトリ、サービスなどのファクトリを作成する必要がありますか?
Dependency Injection Containers を使用していますが、それらを factory と組み合わせるにはどうすればよいですか?
ありがとう。
ファクトリは単純なクラスである必要があり、通常は静的です。また、作成するエンティティまたは値オブジェクトに静的メソッドとして実装することもできます。工場では、ドメインオブジェクトを直接作成し、ドメインオブジェクトのみを作成する必要があります。さらに、ドメインオブジェクトに依存性が注入されてはならないため、ファクトリを依存性注入と結び付けてはなりません。
ドメインオブジェクトはインターフェースを実装するべきではありません-それは不必要な抽象化です。
一方、サービスとリポジトリの実装には依存関係があるため、DIコンテナで作成する必要があります。