2019-03-24

ドメイン駆動設計 本格入門に参加してきた感想

[DevLOVE Premium第3回]ドメイン駆動設計 本格入門に参加してきました。

講演形式でも直接お話を聞くと、強調されていることをよりはっきりと受け取ることができて勉強になります。増田さん(@masuda220)がいらっしゃる勉強会に参加するのはこれで5回目?くらいだと思います。その度に新しい学びがあります。

ドメイン駆動設計本格入門 from 増田 亨

今回の内容は特に「区分」にフォーカスを当てていたように感じました。まず、ビジネスルールこそ複雑さの根源であり立ち向かうべきもの、としたうえで、区分による条件・分岐が特に複雑であると紹介されていました。

業務アプリケーションにおいて数学的に難解なロジックが求められることは確かに(あまり)なくて、入り組んだり散らばったりしてしまうのは条件・分岐であるのはその通りだなと思います。

また、フレームワークを使いこなしたところでビジネスルールの複雑さを解消できるものではないのですが、これも明確に表現されていました。フレームワークなどのアーキテクチャ論は準備だということです。

ビジネスルールの記述を独立したモジュールに分離する

アーキテクチャはそのための準備だということですね。同様に、エンティティやリポジトリなどの要素もその前の基本事項であり、エヴァンス本は第3部からが本番だとのこと。エヴァンス本の読み方に一石投じられました。読み直そう。

ところでエヴァンス本という呼び方には市民権があるのですね。実践~はヴァーノン本、現場で~は増田本ですかね??エヴァンス本と増田本は実物を持っています。

エンティティよりも値オブジェクトが主役オブジェクト指向とは型指向のプログラミング。というのはこれまでも言われていたことですが、ますます強調されてきているなと感じます。ファクト・ルール・ゴール。という整理の仕方もビジネスルールの輪郭を際立たせるものとして理解しておきたいところです。


と、私が受けた印象でここまで書き綴ってみました。参加された他の方はまた違った印象を受けたかもしれません。あるいは増田さんの意図とも違っているかもしれません。が、それはそれでいいんです。また見返したりお話を聞いたりしたときにはさらに違っているでしょうから。

オブジェクト指向ってなんだっけ?から始まって、ドメイン駆動設計を知ってそれから追いかけてきていますが、勉強することはまるで尽きないなと感じます。

プログラマーは常に勉強し続けないといけない云々なんてことが言われますが、そんなに悲観することですかね?むしろいつだって勉強し始めることができるってことだし、変に焦るよりもこれは楽しいことだって思いたいですね。

ふくちはるき
フリーランスのソフトウェアエンジニア
オブジェクト指向やドメイン駆動設計に興味があります。趣味で写真もやります。 もっと詳しく