ソフトウェアアーキテクチャを学ぶために
どういう順で、どういう書籍をもとに勉強していけばよいかを書いていく。
なぜソフトウェアアーキテクチャが重要なのかを学ぶ
疎結合がなぜソフトウェア設計で重要なのか?
良いソフトウェア設計のためにやるべきことは何か?
クリーンアーキテクチャそのものの話については飛ばして良い。
アーキテクチャのパターンを学ぶ
現代のフレームワークの基礎用語とそのパターンが詰まっているので前提知識として学ぶ
日本語訳もあるが、翻訳に問題があるので原著を読んだほうが良い。
システム間連携のパターンを学ぶ
メッセージを他システムに届けるやり方にはどういうものがあるか?
分散システムにおける安定性のパターンを学ぶ
タイムアウト/リトライ/サーキットブレイカー/隔壁がなぜ重要なのか?
大きな粒度(Layered Architecture等)でのアーキテクチャパターンを学ぶ
現代版POSA
いわゆるGoFの23個のデザインパターン。知っておくに越したことはないが、フレームワーク・ライブラリに溶け込みすぎていて、現代では知らないうちに使ってることになるので、余裕があれば。
アーキテクチャ設計のプロセスを学ぶ
品質特性シナリオの書き方やATAMなどのやり方を学ぶ
アーキテクチャ設計の様々なワークショップのやり方を学ぶ
ただし、Design It!自体は手法の紹介程度の記述内容なので、そこからオリジナルの文献にあたったほうが良い。