構築中。

名古屋のITインフラお守り係です。ITイベントへの参加記録などを残していきます。

DDDオンライン勉強会 「設計の基本原則"高凝集・低結合"とアーキテクチャ」(3/29)

前回から 2 週間、3 回目の参加です。

ddd-community-jp.connpass.com

今回も質問が多数寄せられたので、テーマのうちの半分「高凝集・低結合」のみが対象となりました。

「SOLID のすべてを意識しなくても、高凝集と低結合を意識すれば結果として結構カバーできるので、この 2 点を意識するのがお勧め」ということで、

little-hands.booth.pm

こちらの本ではわずか 4 ページ半ほどの記述ですが、(いつものように)時間を掛けて

  • 説明
  • ライブコーディング
  • Q&A

を進め、最後に

  • さらにもう一歩進んだ実装(のライブコーディング)

を付け加えられました。

3 回目の参加ともなると、少しは余裕を持って見ることができました。

※見るのと自分でやるのとでは大きな差があるので、自分でやろうとすると間違いなく躓くと思いますが。


現在、職場の開発チームでは新しいプロダクトの設計をどうするか話が進んでいます…が、進んでは戻り、進んでは戻りでなかなか形になっていません。

※わたしはインフラチームなので、隣で様子を見ているような状況です。

今回は DDD の導入は諦めたらしく、明確な設計の指針がないままメンバー同士で「ぼくがかんがえたさいきょうの(といいつつ実はそうでもなくて本当は迷いがある)せっけい」を戦わせているような状況になっております(笑)。

「リリースまでに繰り返しリファクタリングをしている時間的な余裕がないから DDD はやらない」と言っているのですが、これだけ迷いやブレがあると、「DDD そのものはやらないとしても、経験と感覚をベースに場当たり的に考えるのではなくて、何かの指針を定めて設計して行ったほうが結果としてリリースも早いのでは?」と思ってしまいます。

その意味で、今回の「高凝集」「低結合」は使えるのではないか…という気がするので、タイミングを見て一言ツッコもうかとしばらく様子を見ているところです。

※ツッコみ方を間違えると、プライドが高い人に意図を勘違いされるので(つい先日も別件でそのようなことが…ああ嫌だ)、気を付ける必要が(めんどくさいなあ)。

パフォーマンスの懸念があって「理想ばかり追求すると遅くなるのでは?」という話もあるようですが、そこは「推測するな、計測せよ」なんですけどね(なんならその分野ならわたしもそこそこ戦力になるのでヘルプを求めてくれればいいのに…おそらく危惧しているほどパフォーマンスの問題なんて出ないはずだけど、「一度やってみればすぐにわかる」ことなので)。


話が脱線しましたが、今回できなかったアーキテクチャの話、(次回?)楽しみにしております。