どうも、制作部の花島です。
あけましておめでとうございます。
今年もよろしくお願いいたします。
正月休みにWEB+DB PRESS Vol.113の特集のDDDを読んだので共有します。
読んだ目的は今年はドメイン貧血症のコードをやめて、DDDとTDDを導入すると決めたからです。
そのためにまずは以下をやろうと思います。
○ユビキタス言語を定義する
エンジニアと非エンジニアの共通の言語、単語を作る。
○モデリングを行う
ドメインモデル図を書く。
○データと振る舞いを同じ所に書く
無口なコードは書かない。
データと機能のクラスに分けると同じようなコードが存在してしまう。
書籍で言う所のユーザの最大10文字ルール。
○値オブジェクトを使う
値オブジェクトを使う。プリミティブ型の変数ではなく、値オブジェクトを使う。
○レイヤーを意識する。
ドメイン、アプリケーション、プレゼンテーション、インフラストラクチャ層等レイヤーを定義し、設計する。(このレイヤーは次のブログで記載)
○集約(Aggregate)は一つのトランザクションにする
集約とは必ず守りたい強い整合性を持ったオブジェクトのまとまり。
この集約単位で1トランザクションにする。ただ、範囲が大きいとロックで問題になる。
集約の境界をどこにするかが大事。
○テストを書く
リファクタリングが前提なので、テストを書く。
いきなりDDDは厳しいので、軽量DDDを行う事になると思います。
後、TDDはこっそり僕の方で今の案件(PHPの方)で始めてみます。
最後に弊社は読みたい書籍が承認されれば全額出る補助があります。
WEB+DB PRESSも対象です。
本読んで、アウトプットしてスキル高めましょ♩♩
あ、子供ともしっかり遊んでます。
今日は清水公園に行って、アスレチックで遊んでニジマス釣りして、ニジマス食べました。
美味しかったです!!