🦔

domainって何?AIとのやりとりの箇条書き

に公開

前提

  • domainという概念が分からないのでメモだけ残す

最初に思ってたこと

  • domain = DBのモデル?
  • domain = ORMのEntity?
  • domain = ただの型定義?
type Note = {
  id: string;
  title: string;
  body: string;
};

AIに聞いて言われたこと(断片)

  • domainはDBを知らない
  • domainはHTTPを知らない
  • domainはフレームワークを知らない
  • domainは一番変わってほしくない
  • domainは「意味」を表す

今のところの仮理解

  • domain = アプリが扱う「意味」「概念」っぽい
  • データそのものではないらしい
  • 技術的なことは書かない場所

メモアプリで考えたとき

  • DBなくてもメモという概念はある

  • APIなくてもメモという概念はある

  • UIなくてもメモという概念はある

  • タイトル

  • 本文

  • 作成日時


domainが知ってていいらしいこと

  • メモとは何か
  • どんな情報を持つか
  • 業務的なルール(必須・制約)

domainが知ってなさそうなこと

  • DB
  • JSON
  • HTTP
  • API
  • ファイル
  • フレームワーク

理由:

  • 意味と技術を分けるため(らしい)

正直モヤってる点

  • domainは何もしない
  • 保存しない
  • 通信しない
  • 動かない
  • 書いてて「意味ある?」って思う

serviceと比べたときのメモ

  • domain = 名詞っぽい
  • service = 動詞っぽい

domain:

Note { title, body }

service:

createNote() { id作る, 日付入れる }

→ 「何か」と「どうするか」を分けてるっぽい


現時点の雑なまとめ

  • domain = 意味置き場?
  • 地味
  • 分かりにくい

Discussion