5/30 ドメイン駆動設計Chapter9 9-2 1
9-2 採番処理をファクトリに実装した例の確認
採番とは、一般的に「データ管理のために、それぞれのデータに固有の番号を与える」という意味で呼ばれています
- ファクトリが活躍するわかりやすい例として、採番処理がある
- これまでUserのインスタンスを生成する際、その識別子はGUID(Globally Unique Identifer)を利用していた
WindowsなどではUUIDと同じ形式の識別子を「GUID」(Globally Unique Identifier)と呼称している。 現代ではほとんどの場合、GUIDとUUIDは同じものを指し、同じ概念の単なる別名として扱われる。
ユーザの識別子はコンストラクタで生成される
uuidはこちらのライブラリをインストールして生成します
import { v4 as uuidv4 } from "uuid"; import { UserName } from "../valueObject/UserName"; import { UserId } from "../valueObject/UserId"; export class User { constructor( public id: UserId = new UserId(uuidv4()), public name: UserName, ) {} }
- Userが新規作成されたときは、デフォルト引数で、uuidがidになります
- システムによっては採番処理をコントロールしたいことがある
- 伝統的な手法にシーケンスや採番テーブルを利用したものがある
- システムによっては採番処理をコントロールしたいことがある
シーケンスとは、連続(しているもの)、一続き(のもの)、順序、順番、並び、配列(する)、逐次、並べる、順序付ける、などの意味を持つ英単語。