core complexity and opportunity in the domain ドメインにおいて核となる複雑さや機会に向き合うこと • Explore models in a collaboration of domain experts and software experts ドメインエキスパートとソフトウェアエキスパートのコラボレーションの中で モデルを探求すること • Write software that expresses those models explicitly 探求されたモデルを正確に表現するソフトウェアを書くこと • Use a ubiquitous language inside a bounded context 境界づけられたコンテキストの内部におけるユビキタス言語を用いること
Core (Web API) + EFCore + SQL Serverを用いる。 • ユーザーからの入力値は、商品コード・出入庫の数量・保管場所(=棚番号と倉庫のIDのセット)。 • 商品コードはURL内のスラッグに、それ以外はPOST時のBodyに入力される。 • DB設計は下記のER図に従う。 実際に組んでみよう 在庫管理テーブル Product Id : int «generated» ProductCode : string Name : string Price : int Outbound Id : int «generated» ProductId : int «FK» StockRackId : int «FK» Quantity : int ShippedAt : DateTime Inbound Id : int «generated» ProductId : int «FK» StockRackId : int «FK» Quantity : int StockedAt : DateTime StockRack Id : int «generated» RackCode : string WarehouseId : int «FK» Warehouse Id : int «generated» Name : string