「現場で役立つシステム設計の原則」読書会レポート vol.4

株式会社リゾーム システム企画・開発部 第3グループの渡辺です。

今回は、読書会の第4回目のレポートになります。

前回のレポートは、こちらです。

tech.rhizome-e.com

第4回目レポート

今回は、第4章「ドメインモデルの考え方で設計する」を読み進めました。

それぞれの感想・意見交換

ドメインモデルについて
  • ドメインモデルで設計することで、業務の流れや用語がプログラムにそのまま反映され、プログラム自体が業務の説明書になる。
    • 抽象度を高めることが汎用的なプログラミングには大事だが、それとは対照的。
  • ロジックを変更する際、変更による影響範囲が把握できないので、検索して洗い出した箇所を1つ1つ見ていくこともある。そういった事態が発生しにくいドメインモデルでの設計は非常に魅力的に見えた。
ドメインオブジェクトの見つけ方・作り方
  • 「関心事」の粒度を正しく理解しないと正しいドメインモデルを作れない。
    • 関心事をヒト/コト/モノで分類するのはわかりやすかった。
  • パッケージ図や業務フロー図を活用し、全体の俯瞰・各部分に着目を行ったり来たりする必要があるようだ。

業務への理解を深めることについて

  • 業務の用語を正しく理解して、それをクラスやメソッドに落とし込む必要がある。
    • そのためには要望の聞き取りから仕様の決定まで、開発者が関わる必要があるが、なかなか難しい。
  • その業務分野について興味をもって学ぶというのが大事。プログラムだけ上手くなろうとしても片手落ちで、我々は業務知識を学ばなければならない。

まとめ

第4章では、ドメインモデルでの設計について理解を深めて行きました。私の頭の中では、今までの手続き型での設計に慣れ親しんでいるため、なかなか理解が追いつかない箇所もありましたが、具体的な例や実際の業務に当てはめることで、ドメインモデルのメリット等を知ることができました。

ドメインモデルでの設計に限った話ではありませんが、自身が携わる業界知識について深く知っていくことは重要です。関係部署を巻き込んだ勉強会も実施していきたいと思います。