テスト駆動開発と、ドメイン駆動開発について、
Udemy動画で勉強した時のメモ。
見た動画
テスト駆動開発
とにかく、テストコードが先、(実際の実装)コードが後。
しつこくしつこく、「まずテスト書いて~」。
テスト書き終わったら、実装のためのコードを書く、テスト実行する、(そして、エラーや足りない部分を直す・加える)の繰り返し。
ドメイン駆動開発
「プログラムから複雑さを取り除くための手法。オブジェクト指向やデザインパターンは単発で紹介されることが多いけど、実際にアプリケーションを開発する際に、どういうクラスをどういうフォルダに入れて~とかは解説されていない事が多い」とのことで、
この機能を持つクラスはこのフォルダに入れて~とか、パターン化されている。
(Domain、Infrastructure、Viewの3つにフォルダ分けする。Domainにはビジネスロジックのクラスを入れる。InfrastructureにはDB(SQLiteやSQL Serverなど)との接続用クラスを書く。また1つのViewにつき、対応するViewModelを1つ作る、など)
あと、ValueObject(値として扱うクラス。値とロジックをなるべく一体化させて散らばらないようにする)とかも学んだ。