中〜大規模アプリケーションを開発するノウハウを持っておらず、どのようにシステム設計するのが良いのかわからなかった。そのため、1週間ほどドメイン駆動設計(Domain-Driven Design)について勉強した。 当記事では、勉強中に得たドメイン駆動設計をわかった気になれるのに必要な用語のまとめや、実装でどのように使われるかをまとめる。 筆者は「実践ドメイン駆動設計」を読んだわけでも、完全に理解したわけでもない。しかし、雰囲気を掴むための情報はわかっている状況なので、間違っている箇所があったら指摘していただきたい。 ドメイン駆動設計とは? ドメイン駆動設計(DDD、Domain-Driven Design)を一言で説明すると「現実世界の業務をドメインモデルに詰め込んでソフトウェアに深く反映させる設計手法」だ。 詳しい説明は後述するが、ドメイン駆動設計の全体図は下図のような感じだ。 ドメイン
![ドメイン駆動設計の用語と解説(DDD入門ガイド)](https://cdn-ak-scissors.b.st-hatena.com/image/square/37433a9f11aeac7d21b0c94df03940cb688d0489/height=288;version=1;width=512/https%3A%2F%2Fblogger.googleusercontent.com%2Fimg%2Fb%2FR29vZ2xl%2FAVvXsEh9W5Ej563kqD_dP4P509oiQPpBIBxu-mr0bDbteFuGRpydYyxaOKS7hF7SM6cHa9MTflcYTxSCDi_8_6ltgND_GzJv2R2rGw8T7Kl9uMnrQfxWyPcPC9SCqt4YRlVCou4G4lfBlxkalsbj%2Fw1200-h630-p-k-no-nu%2Fddd.png)