導入
10章41回、お疲れさまでした。「タスク管理アプリ」というたった1つの題材を、Entity・ValueObject・Factory・Repository・Service・ViewModel・Viewという実務のレイヤー構成に沿って、最初から最後までTDDで作り上げました。最後に、このコースで身についたことと、次に進むとよい方向を整理します。
説明
このコースで手を動かしたことを、もう一度並べてみましょう。
- TDD: Red(失敗するテスト)→Green(通す最小実装)→Refactorのリズムで、Entity・Factory・Repository・Service・ViewModelのほぼすべてを作った
- レイヤーの分離と依存の向き:
MyApp.Core(何にも依存しない)を中心に、Infrastructure・View(MyApp)が外側から依存する構造(レッスン38) - DIとFake: コンストラクタインジェクションで依存を外から渡し、テストでは本物の代わりにFakeを差し替える(第4章・第8章)
- MVVM: View(XAML)とViewModel(普通のC#クラス)をデータバインディングでつなぎ、ロジックを画面から切り離す(第7章)
- 仕様変更への対応: 新しい要望が来ても、役割分担を崩さずに機能を足せる(第9章・レッスン39・レッスン40)
次に学ぶとよいこと
- DIコンテナとEF Core: このコースでは手動DIと
InMemoryTaskRepositoryで済ませましたが、実務ではMicrosoft.Extensions.DependencyInjectionによるDIや、Entity Framework Coreで本物のデータベースにつなぐ実装を学ぶと、ITaskRepositoryの実装をそのまま差し替えられることを体感できます - 層構成をさらに深める: C#実践コースのDDD章(Entity/ValueObject/層構成/総合演習)は、本コースと同じ考え方をさらに掘り下げた内容です
- 本物のWPFで動かす: このコースの
<mvvm-runner>は教材用のサブセットでした。CommandParameterや行ごとのスタイル分岐、画面遷移など、ここで簡略化した部分を実機のVisual Studioで確かめたい方はC# WPFコースへ進んでください