「MVC」、「MVVM」、「ドメインモデル」、「クリーンアーキテクチャ」など、「アプリケーションアーキテクチャ」に関する用語はたくさんあり、ソフトウェア開発に実践的に関わる上で学ぶことは外せません。
この記事では、アプリケーションアーキテクチャについて解説した書籍 4 冊を紹介していきます。
Clean Architecture 達人に学ぶソフトウェアの構造と設計
アプリケーションアーキテクチャの話で最近度々話題となる「クリーンアーキテクチャ」の解説書です。
プログラミングパラダイムの話から、SOLID 原則、アプリケーションアーキテクチャについて解説されており、アプリケーション設計を学ぶ上で外せない 1 冊です。
クリーンアーキテクチャ自体を採用するかは状況次第ですが、設計の考え方としてはいつでも参考にできるものなので、是非とも一度読んでみるべき書籍です。
サンプルコードはないため、その部分は Web 上の情報などで補う必要があります。
アプリケーションアーキテクチャ設計パターン
2017 年に発売された、アプリケーションアーキテクチャ全般を解説した書籍です。
サーバサイドからクライアントサイド、バッチ処理、システム間連携まで、アプリケーションアーキテクチャを非常に幅広く解説しています。
Java の前提知識が求められることと、ページ数的にもボリュームがあることから、初学者向けとは言えないです。
ある程度実務経験を積んだ上で、知識を整理したり、知らない部分を埋めるのに適しているのではないかと思います。
.NETのエンタープライズアプリケーションアーキテクチャ 第2版
アプリケーションの設計原則からアーキテクチャまでを解説した書籍です。
後半は DDD についての解説が中心で、DDD のオススメ書籍として紹介されることも多いです。
また、書籍の最後の方では CQRS やイベントソーシングといった発展的なアーキテクチャについてもかなりのページを割いて解説されています。
タイトルに「.NET」とありますが、.NET の知識を前提とした解説はそれほど多くないので、Java などのオブジェクト指向言語を理解していれば読み進めることができます。
エンタープライズ アプリケーションアーキテクチャパターン
アプリケーションアーキテクチャの原典のように紹介されることが多い書籍です。
アプリケーションアーキテクチャの各種パターンがカタログ的に紹介されています。
2005 年発売の書籍ということもあり、現在よく使われている用語と不一致な箇所があるなど、読み進めるには多少注意が必要です。
おわりに
アプリケーションアーキテクチャについて書かれた書籍を 4 冊紹介しましたが、どれもある程度の前提知識が必要で、初学者向けとは言いにくいです。 ある程度実務経験を積んでから、次のレベルアップのために読んでみるのがいいのではないでしょうか。
また、アプリケーションアーキテクチャについては、DDD の文脈の中で解説されることも多いです。 別記事「【難易度別】ドメイン駆動設計 (DDD) の書籍 +α のまとめ」に DDD の書籍をまとめているので、そちらも参照ください。 特に
の 2 冊はかなり初学者向けとなっており、アプリケーションアーキテクチャを学び始めるにも非常に良い書籍です。