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

関数型DDD入門

いなたつ
May 05, 2024
77

 関数型DDD入門

いなたつ

May 05, 2024
Tweet

Transcript

  1. 自己紹介 稲垣 達大 inatatsu 株式会社 OpeningLine アプリケーションエンジニア プロジェクトマネージャー 年  齢

    24 大  学 理工学部  情報学科 大学院 エレクトロニクス系工学専攻 ボルダリング・ゲーム 趣  味
  2. データモデリング ブログシステムの記事(Post)についてのデータモデリングを考える q タイトt q コンテンA q 著I q 状態

    (ドラフト,レビュー済み,レビュー落ち,修正版,公開 etc...„ q レビュワー (optional„ q レビューコメント (optional„ q 公開日時 (optional„ q 更新日時 (optional)
  3. データモデリング ブログシステムの記事(Post)についてのデータモデリングを考える — 記事の公c — レビュー済みなら公開可h — 記事のレビュƒ — ドラフトもしくは修正版に対して実行可h

    — リジェクトする場合はレビューコメントを付けU — 記事の編集・削B — ドラフトの場合自A — 公開済みの場合は承認が必要
  4. データモデリング ブログシステムの記事(Post)についてのデータモデリングを考える — 記事の公c — レビュー済みなら公開可h — 記事のレビュƒ — ドラフトもしくは修正版に対して実行可h

    — リジェクトする場合はレビューコメントを付けU — 記事の編集・削B — ドラフトの場合自A — 公開済みの場合は承認が必要
  5. 関数型DDD的データモデリング 記事の状態ごとにデータモデリングを考える AppliedReviewChangePost W タイトi W コンテンa W 著X W

    レビュワS W レビューコメンd W 新しいタイトi W 新しいコンテンツ W 記事のレビュー承r W 記事のレビュー却下
  6. 全域関数と部分関数 Postの公開操作 DraftPost -> 定義無し (実行不可) RejectedPost -> 定義無し (実行不可)

    AppliedReviewChangePost -> 定義無し (実行不可) PublishedPost -> 定義無し (実行不可) ApprovedPost -> approvedPost.publish(now)