Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ビジネスサイドでもわかる ドメイン駆動設計とは?

ビジネスサイドでもわかる ドメイン駆動設計とは?

ドメイン駆動開発設計について、ビジネスサイドでも理解できるように抽象的な概念を説明します。
エンジニアにとっても、コードの形から具体的に理解するのではなく、一度抽象的な考え方のレイヤーで理解することは理解度の促進につながると考えています。

Dara / Shidara Kota

March 26, 2023
Tweet

More Decks by Dara / Shidara Kota

Other Decks in Programming

Transcript

  1. 速く作ること • 速く作る = 新しい機能追加や、変更を素早く行う • 逆にどうだとそうならない?? ◦ 修正箇所が多い・重い ◦

    バグが出やすい • 修正箇所が多い・重い ◦ 何かへの結びつきが強すぎるとき(密結合) • バグが出やすい ◦ 「変更漏れ」があるとき
  2. ドメイン駆動設計とは? - 「ドメインの知識に焦点を当てた設計」 - ドメイン: 事業領域。Memoriaであれば「メタバース」「恋愛」など。 以下の問を考え、 - Q: その作業(ルール)は、事業特有のもの?それとも一般的?

    - Q: それぞれは、誰が管理するのが適切なの? 以下を大切に設計する - 事業領域特有のことを考える人、一般的な作業をする人を分ける。 - 他の人の役割を、有難迷惑に奪わないでね!
  3. 司書 えらい人 利用者担当者 受付係 ▪ 利用者の流れ ▪ 1. まずは市役所に入り、結婚相談課の 窓口で、受付係と話す。

    2. 利用者担当者のもとに案内され、色々 情報を伝える。 3. 登録担当者は、えらい人が作ったユー ザーマニュアルに沿って登録をする。 4. 司書が、登録者の情報を新しく倉庫の 書類に書き込む。
  4. 司書 えらい人 利用者担当者 受付係 (書庫を開けて)どの列だったか な?あ、あそこだ、はしごかけて 書きに行こう。 登録をご希望ですね、担当の 者をご案内いたします。 それでは、名前と性別を教え

    てください。今データベースと 照合しますので。 全ての利用者を見たいのです ね。司書に聞きます。 はい、こちらが一覧です。 利用者には、自分の性別と恋愛対 象の性別を聞く必要があるな。こ れは必須項目にしよう。 プレミアムユーザーってのを作ろ う。お金たくさん払う人。 ユーザー名は2文字以上にしよう。 さすがに1文字だと「あ」とかにされ たらびみょい。 え、全員のデータがほしいっ て、、、 大変だけど取りに行くしか
  5. 司書 えらい人 利用者担当者 受付係 登録をご希望ですね。利用者 担当の者をご案内いたしま す。 (書庫を開けて)どの列だったか な?あ、あそこだ、はしごかけて 書きに行こう。

    それでは、名前と性別を教え てください。今データベースと 照合しますので。 全ての利用者を見たいのです ね。司書に聞きます。 …はい、こちらが一覧です。 利用者には、自分の性別と恋愛 対象の性別を聞く必要があるな。 これは必須項目にしよう。 プレミアムユーザーってのを作ろ う。お金たくさん払う人。 ユーザー名は2文字以上にしよう。 さすがに1文字だと「あ」とかにされ たらびみょい。 え、全員のデータがほしいっ て、、、 大変だけど取りに行くしか
  6. 司書 えらい人 利用者担当者 受付係 ・ドメイン知識を持つ。利用者に関する大切なルールや処理を担当する。 ・大事なロジックはこの人だけが持つ。他の人は毎回聞きに来る。 ~ex~ ・ユーザー名2文字以上のルールを持ち、変更はこの人を通すこと。 ・同じユーザーを何で識別するか?メアド? ID?重複をチェックするのもここ(厳密には

    DomainServiceクラス) ・えらい人や司書に問い合わせつつ、登録手続き、退会手続きをこなす人。 ・利用者からの入力をフォーマットを整えて上に伝え、エラーが出たら対処する。 ・働き者に見えつつ、重要なルールや調査は全部上に任せていて脳死してる。 ・この事業独自の処理は実は特にしていない。誰でもできる仕事ではある。 ・まじで右から左に流すだけの人。 ・言われた情報を受け取って担当者に伝えて、返す必要があれば渡されたものを返す ・データを書き込む専用の人 ・やってることは何気にハイレベルで他の人には理解しにくい専門職。 ・本じゃなくて、HDDに書き込むなら解雇。HDDの人もクラウド化したら解雇。
  7. 司書 えらい人 市役所内 利用者担当者 受付係 名前は 2文字以上! ② 本来「えらい人」が管理 するべき項目を別の場所が

    管理していた場合 公民館内 利用者担当者 名前は 2文字以上! 郵送 利用者担当者 (特に何も言 われてない) 郵送担当者にロジックが伝えられ ず、バグ発生。 郵送経由だと1文字で登録可能