今回はModule(モジュール)フォルダーのお話をします。
モジュールには「どこにも納まらないもの」を入れます。基本的にはValueObjectやEntity,Repositoryに振り分けていくのですが,アプリケーションを作成していると,どうにもおさまりの悪いものが出てきます。Logicsに入れるようなstaticな関数でない場合もあります。最終的に,どこにも入れられなかった場合はModuleフォルダーに入れるようにします。
Modulesフォルダーの作成
ドメインプロジェクトにModulesフォルダーを作成します。この中に,処理のひと固まりで,納まりの悪いクラスを入れます。例えば,「在庫」「発注」などという単位で,クラスを集めておいたほうがいい場合などは,このModulesフォルダーの中に「在庫」「発注」「プロモーション」などとフォルダーを作って入れてもいいです。
ただあまりここに安易に入れないほうがいいです。できるだけValueObjectやEntityにロジックは入れるようにしましょう。あとドメインプロジェクトの直下に「在庫」「発注」などのフォルダーを作ると,フォルダー構成の見通しが悪くなるので,Modulesフォルダーに入れるようにします。
LogicsやHelpersフォルダーもModulesフォルダーに入れたほうが,見通しが良くなるので,そのようにするのもいいです。