どうもこんにちは、ピーコックアンダーソンです。
本コースではEntityFrameworkCoreと
ドメイン駆動開発のアーキテクチャーを
組み合わせる方法を解説しています。
ドメイン駆動開発のパターンである、
ValueObject、Entity、Repositoryなどを、
EFCoreでどのように組み合わせればいいかを解説しています。
【内容】
①EFCore + ValueObject
EFCoreでは通常intやstringなどの基本型を簡単にマッピングできるようになっていますが、
ValueObjectをマッピングすることもできます。
EFCoreから取り出した時からValueObjectとして扱うことができる方法を解説しています。
②EFCore + Entity
EFCoreでValueObjectを乗せたEntityの作り方を解説しています。
③EFCore + 複合ValueObject
複数の項目で構成されたValueObjectを
EFCoreでマッピングし、1つ値のように扱う
方法を解説しています。
④EFCore + Repository
EFCoreに対応したRepositoryと抽象クラスによる共通化の
方法を解説しています。
⑤UnitOfWorkパターンの適応
UnitOfWorkというパターンを採用することで、
リポジトリやEFCoreとの接続を管理しやすくし、
一貫性を持たせることで、
トランザクションの管理がしやすくなります。
ここではUnitOfWorkの適応方法を解説しています。
⑥EFCore + テストコード
Microsoft.EntityFrameworkCore.InMemoryというツールを使って
テストコードを書く方法を解説しています。
Moqを使わず、データアクセスまでを含めたテストを実現
する方法を解説しています。
⑦DIツールの適応
依存性注入をMicrosoft.Extensions.DependencyInjectionを使って
EFCoreに適応させる方法を解説しています。
現在のデータアクセスの主流である、EFCoreと、
アーキテクチャーの主流であるドメインアーキテクチャーの融合なので、
非常に楽しい学びのあるコースになっていると思います。
興味のある方は是非ご覧になってみてください。