🦔
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