【やさしく解説 設計編 #2】その理由は、地面ですか? 足場ですか? 〜持ち主の寿命のはなし〜
前回は「お客さんの仕事に合わせるドメイン駆動」と「道具の都合に合わせてしまう実装駆動」の見分け方として、「この話はどっちから始まってる?」という質問を紹介しました。でも実際に試してみると、どっちなのか迷うことが多かったかもしれません。
今回は、その見分け方を一歩深めます。鍵になるのは「持ち主」という考え方です。
実は、設計の理由にはぜんぶ持ち主がいます。
「売上には消費税がかかる」の持ち主は国。
「締め日は月末」の持ち主はお客さんの会社。
だから見分けるポイントは持ち主がいるかどうかではなく、持ち主の寿命です。
建物を建てるとき、基礎は地面に打ちます。
工事用の足場の上には打ちません。
足場はとても便利ですが、工事が終われば持ち主の都合で撤去されるからです。設計も同じかもしれません。
この資料では、心の中でつぶやくだけで使える魔法の質問をひとつ持ち帰ってもらいます
「その理由の持ち主は、誰ですか? その持ち主は、私たちのシステムより長生きしそうですか?」
ちいさな練習問題も3問だけ用意しました。
まずは次の会議で、気になる理由をひとつ選んで質問をかけてみてください。
きっと新しい発見があるはずです。
記事一覧
【 設計編 #1 】 「ドメイン駆動」と「実装駆動」ってなに?
`軽量DDD` `設計判断の出発点` `DDDの肯定形の対義語`
【 設計編 #2 】 持ち主の寿命のはなし
`所有性` `依存先の寿命` `公共構造(SQL・HTTP)とベンダー製品`
【 設計編 #3 】 規約による保護と、構造による保護
`ポカヨケ` `型と制約で守る` `人依存の規約は最下位層`
【 設計編 #4・本編最終回 】 何があなたの手を動かすのか
`変更理由の出所` `単一責任原則の「責任」` `要求の駆動源`