ドメイン駆動開発_フォルダー構成編_#58_特徴を見極める

当サイトではアフィリエイト広告を利用しています。

NDDD

最後に全体を振り返り,どのようにクラス分けをするかの指標を解説します。

値を扱う場合は,アプリケーションに1つでいいのか,処理するたびに生成するべきかを考えましょう。SQLServerの接続先やログインユーザー情報はアプリケーションで1つだけ管理したほうが使いやすいですし,データベースから検索したデータは,その都度生成したほうが使いやすいです。そのあたりを精査し,1つでいいならstaticで作り,SharedかStaticValuesに入れます。リスト形式ならStaticValues,単体の値ならSharedに入れます。

その都度生成するデータベースなどの値はValueObjectとEntityにします。機械的にデータベースの列はValueObject,行はEntityとします。

ロジック

ロジックは値と一体型にしたほうがいいのか,ロジック単体化を判断します。一体型にしたほうがいい場合はValueObjectかEntityにします。独立させる場合はLogicsかHelperにします。ビジネスロジックを含む場合はLogicsに入れます。

このような感じで値とロジックの特性を見極めてクラス分けをしていってください。