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

データとコンポーネントの複雑さを整理整頓する

Avatar for Reo Ishiyama Reo Ishiyama
October 15, 2025
120

 データとコンポーネントの複雑さを整理整頓する

Avatar for Reo Ishiyama

Reo Ishiyama

October 15, 2025
Tweet

Transcript

  1. © DMM 4 管理画面のリプレイス • モダン化( PHP → Next.js) •

    運用コストの削減 ◦ 発行したクーポンの編集ができない等
  2. © DMM 9 クーポンは複雑 • ログイン状態 • 獲得状態 • 値引・割引率表示

    • 利用回数 • 先着ご利用回数 • 公開/獲得期限 • etc…
  3. © DMM 11 クーポンは複雑 • 公開期間 • 利用期間 • 獲得/未獲得

    • 先着利用上限数 • 1ユーザーあたりの利用可能回数 • 獲得してからX日間だけ利用可能 • プレミアム会員限定 • etc…
  4. © DMM 17 Presentation Component • UIの構築が責務 • ドメイン知識に依存しないコンポーネントを組み 合わせて構築

    • Container Componentから受け取ったPropsを 元にUIを構築 • コンポーネントに対するイベントハンドラーを設定
  5. © DMM 18 Container Component • 外部APIやGlobal Stateからのデータ取得 • データ加工やコンポーネントの出し分け

    • アプリケーションのビジネスロジックを実装する • Presentation Componentへpropsとして渡す ◦ UI構築に必要な値 ◦ ユーザー操作を処理するためのコールバック関 数
  6. © DMM 27 Modelとは • Domain Object の生成・変換 • APIや外部システムとの変換処理

    • 要件に基づいた、共通化できない機能特有の処理
  7. © DMM 32 Model • createFromResponse ◦ APIからDomainObjectへの変換 • createFromFormValues

    ◦ フォームの値(UI)からDomainObjectへの変換 • convertToRequestBody ◦ DomainObjectからリクエストへの変換 • convertToFormValues ◦ DomainObjectからフォームの値へ変換