疎結合、非同期、そしてチームの言葉へ ─ 育てやすく読みやすい設計のためのドメインイベント by 梶川 琢馬

PHP Conference Japan 2025
レギュラートーク(25分)

疎結合、非同期、そしてチームの言葉へ ─ 育てやすく読みやすい設計のためのドメインイベント

kajitack 梶川 琢馬 kajitack
1

「この関数、どこで何を呼んでるんだっけ?」「影響範囲が読めなくて、修正するのが怖い…」
アプリケーションのロジックが複雑になってくると、そんな不安を感じる場面が少しずつ増えてきます。

本トークでは、そうした不安をドメインイベントでどう乗り越えるかを紹介します!

ドメインイベントは、「〇〇が起きた」という事実をクラスとして扱い、処理の流れを“できごと”ベースで組み立て直すことで、依存を一方向に整える設計手法です。
また、「このイベントってこういう意味だよね」とチーム内で言葉を合わせやすくなるため、設計や仕様に関する会話もスムーズになります。
さらに、非同期処理への移行や、あとから機能を追加しやすくなるなど、スケーラブルな設計への第一歩としても効果的です。

以下のポイントをBefore / After のコードを交えながら解説します:

  • ドメインイベントはなにか?従来のメソッド分割との違い
  • PHPコードでの実装パターン
  • 同期から非同期へ段階的に導入していく方法

設計を見直すヒントやチームでの議論のきっかけを提供します!