はじめに 本記事では、初学者向けにドメイン駆動設計(domain-driven design)についての、基本的な考え方と実装における基本概念について解説を行います。 ドメイン駆動設計(domain-driven design)とは? ドメイン駆動設計とは、その名の通り "ドメイン" の知識にフォーカスした設計手法です。 ここで言う "ドメイン" とは、「ソフトウェアを使って問題解決しようとしている領域」や「プログラムを適用する対象となる業務領域」のなどを指します。 具体的には、会計システムにおける「金銭」や「振込処理」、SNSにおける「投稿」や「ユーザー」などが該当します。 これらのドメインを含め、システムが扱う業務仕様やビジネスルールを軸に設計を行い、 最適な業務実現・課題解決をしていこうという手法をドメイン駆動設計と呼びます。 ざっくり言うと、良いシステムを構築するための設計のベスト