私の会社には、プログラミングからアーキテクチャーに移行したい開発者が何人かいます。ソフトウェアアーキテクチャの理論と実践に関する最良の本は何ですか。可能であれば、カバー写真を含めてください。
一般的な本や、特定のテクノロジーに関連する本も自由に含めてください。
これはかなり良い本ですが、ソフトウェアアーキテクチャ全般ではなく、ビジネスアプリケーションのアーキテクチャを扱っています。
しかし、私はこれらの開発者がアーキテクチャに移行せず、プログラミングを完全に忘れることを奨励します。そうした場合、プログラマーからの敬意はなくなり、アーキテクチャーの決定を行うための適切な準備ができなくなります。
ソフトウェアアーキテクチャについてよく引用/参照されている本、および大学でソフトウェアアーキテクチャコースを受講したときに使用した本は Len Bass、Paul Clements、およびRick KazmanによるSoftware Architecture in Practice(2nd Edition) です。 。
コースを教える少なくとも1人の教授が教科書を Nick RozanskiとEoin Woodsによるソフトウェアシステムアーキテクチャ に切り替えましたが、その本の品質や内容については保証できません。 Sergio Acosta (コメント内)によると、Rozanskiの本はBassの作品に基づいて新しく、読みやすいと考えています。ソフトウェアエンジニアリングプログラムで使用される本にめったに失望することはほとんどありません。
これが私の2番目の選択です。実践と優れたコードに関する良い本。時々少し独創的。
これが今の私のナンバー1の選択です。今すぐアプリケーションを構築(拡張)する方法についての最高の本。
.netを使用している場合は、これら2つを確認してください(Webアプリのバージョンもあります)。
私はすでに他のものによって引用されているものを引用しないので、これを追加します:
コンピュータプログラミングのコンセプトテクニックとモデル 、ピーターヴァンロイ、セイフハリディ
明らかな問題は、現在の(ソートされた)消滅した Mozartプログラミングシステム と驚くべき Ozプログラミング言語 を使用したことです。これにより、 Alice MLプログラミング言語 などの他の興味深い実験が行われました。
しかし、コンピュータプログラミングを学び、CSの概念を深く理解し、流行語を使用せずにアーキテクチャの概念の概要を理解することは、すばらしい本です。
時々少し冗長ですが、非常によく書かれています。
たぶん、最終的にはエンタープライズアーキテクチャブックよりもCS理論の本に近いかもしれませんが、その教示は産業用ソフトウェアに適用するのに非常に価値があると思います。
Pattern-Oriented Software Architecture の第1巻と第4巻が非常に役立つことがわかりました。他のボリュームも良いと思いますが、読んだことがないのでおすすめできません。
全体で最高のプログラミング本の1つ。
試してみてください この小さな本 。
開発者のためのソフトウェアアーキテクチャ-書籍ソフトウェアアーキテクチャの実用的で実用的なガイド
この本は、ソフトウェアアーキテクチャへの実用的で実用的なガイドを形成するエッセイのコレクションです。
ソフトウェアアーキテクチャとは何ですか?
ソフトウェアアーキテクトの役割は何ですか?
ソフトウェアアーキテクチャをどのように定義しますか?
ソフトウェアアーキテクチャをどのように共有しますか?
ソフトウェアアーキテクチャをどのように提供しますか?
興味深い本は オープンソースアプリケーションのアーキテクチャ です。
建築家は訓練中に何千もの建物を見て、マスターによって書かれたそれらの建物の批評を研究します。これとは対照的に、ほとんどのソフトウェア開発者は、少数の大きなプログラム(通常は自分で作成したプログラム)をよく知るだけで、偉大な歴史のプログラムを研究することはありません。その結果、彼らはお互いの成功を積み重ねるのではなく、お互いの過ちを繰り返します。
この本の目標は、それを変えることです。その中で、25のオープンソースアプリケーションの作成者は、ソフトウェアの構造とその理由を説明しています。各プログラムの主要コンポーネントは何ですか?彼らはどのように相互作用しますか?また、ビルダーは開発中に何を学びましたか?これらの質問に答える際に、この本への寄稿者は彼らがどのように考えるかについてユニークな洞察を提供します
Microsoftはこれに関して本当に良いものをいくつか持っています。最初に、彼らはここで利用できる素晴らしい無料の本を持っています:
http://msdn.Microsoft.com/en-us/library/ff650706.aspx
さらに、デザインに関するホワイトペーパーの多くはここにあります:
http://msdn.Microsoft.com/en-us/practices/bb190351
あなたはおそらくデザインパターンを読みたいでしょう:
http://www.Amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612
そして、古典があります-神話的な人間の月、コードの完成、実用的なプログラマーなど。少しグーグルすることは、あなたが良い本を見つけるのに役立ちます。
まず、 Code Complete 2 を読んでください。これは、あなたの考えを形作り、物事を行うための最良の方法を見つけるのに役立ちます。
アーキテクチャの観点では、GOFまたはヘッドファーストデザインパターンから始めるのがよいでしょう。
エンタープライズアプリケーションアーキテクチャのパターン は優れた本です
あなたが尋ねている質問は、ある意味で非常に具体的ではありません。ソフトウェアアーキテクチャは異なるものであり、ソフトウェアアーキテクトは非常に多様な束です。
ただし、いくつか注意点があります。
上記の「クリーンコード」は、私がこれまでに読んだ中で最高の本の1つですprogramming。しかし、それは確かに建築についての本ではありません。はい、開発者向けの必須の読み物ですが、より大きなものがどのように組み合わされるかについての洞察はあまりありません、imo。
ファウラーの「PoEAA」は良い本ですが、他の誰かが言ったように、今は古く、提示されたパターンの多くは数年前に廃止されました。
Eric EvansによるDDDの本は、ソフトウェアの構築と顧客のコラボレーションについて非常に堅固で非常に刺激的な本です-アーキテクトにとって貴重なスキルですが、開発者にとっても良いものです。
専門家による1対1のJ2EE設計および開発 をお勧めします。これは、J2EEについての非常に優れた本であり、Spring Frameworkの理論の基盤です。