私の会社には、プログラミングからアーキテクチャに移行したい開発者が数人います。ソフトウェアアーキテクチャの理論と実践に関する最高の本は何ですか?可能であれば、カバー写真を含めてください。
一般的な本、および特定の技術に関連する本を自由に含めてください。
私の会社には、プログラミングからアーキテクチャに移行したい開発者が数人います。ソフトウェアアーキテクチャの理論と実践に関する最高の本は何ですか?可能であれば、カバー写真を含めてください。
一般的な本、および特定の技術に関連する本を自由に含めてください。
回答:
これはかなり優れた本ですが、一般的なソフトウェアアーキテクチャではなく、ビジネスアプリケーションのアーキテクチャを扱っています。
しかし、私はこれらの開発者に、アーキテクチャに移行せず、プログラミングを完全に忘れないように勧めます。そうした場合、プログラマーから敬意を払わず、アーキテクチャ上の決定を下すための適切な装備もありません。
ソフトウェアアーキテクチャに関するよく引用/参照されている本、および私の大学でソフトウェアアーキテクチャコースを受講したときに使用した本は、Len Bass、Paul Clements、およびRick KazmanによるSoftware Architecture in Practice(第2版)です。
コースを教える少なくとも1人の教授が、教科書をNick RozanskiとEoin WoodsによるSoftware Systems Architectureに切り替えましたが、その本の品質や内容を保証することはできません。Sergio Acostaによると(コメント)、Rozanskiの本はBassの研究に基づいて新しく、読みやすいと考えています。ソフトウェアエンジニアリングプログラムで使用される本に失望することはめったにありません。
すべてのプログラマーのために読む必要があります:
http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612
これが私の2番目の選択肢です。実践と良いコードに関する良い本。時々少しつまらない。
.netを使用している場合は、これら2つを確認してください...(Webアプリのバージョンもあります)
パターン指向ソフトウェアアーキテクチャのボリューム1および4 が非常に役立つことがわかりました。私は他のボリュームも良いと確信しています、私はそれらを読んでいないのでお勧めできません。
全体的に最高のプログラミング本の1つ。
すでに他の人が行っているものは引用しないので、これを追加します。
ピーターヴァンロイとセイフハリディによるコンピュータープログラミングのコンセプトテクニックとモデル
明らかな問題は、現在の(ある種の)無効なMozartプログラミングシステムと驚くべきOzプログラミング言語を使用したことです。それは、アリスMLプログラミング言語のような他の興味深い実験を生み出しました。
しかし、コンピュータープログラミングを学び、CSの概念を深く理解し、流行語を使用せずにアーキテクチャの概念を十分に理解することは、素晴らしい本です。
時には少し冗長ですが、非常によく書かれています。
エンタープライズアーキテクチャの本というよりは、最終的にはCS理論の本の方が多いかもしれませんが、その教えは業界のソフトウェアに適用するのに非常に価値があると思います。
ソフトウェアアーキテクチャの文書化: Clements et al。Software Engineering Instituteから。
ドキュメント作成ソフトウェアアーキテクチャの表紙http://ecx.images-amazon.com/images/I/512Fz-vNz5L._SL160_.jpg
興味深い本は、オープンソースアプリケーションのアーキテクチャです。
建築家はトレーニング中に何千もの建物を見て、マスターによって書かれたそれらの建物の批評を研究します。対照的に、ほとんどのソフトウェア開発者は、少数の大規模なプログラム(通常は自分で書いたプログラム)をよく知っているだけで、歴史のすばらしいプログラムを研究することはありません。結果として、彼らはお互いの成功を土台にするのではなく、お互いの間違いを繰り返します。
この本の目標はそれを変えることです。その中で、25のオープンソースアプリケーションの作成者が、ソフトウェアの構造とその理由を説明しています。各プログラムの主要なコンポーネントは何ですか?彼らはどのように相互作用しますか?そして、彼らの開発者は開発中に何を学びましたか?これらの質問に答える際に、この本の寄稿者は彼らがどのように考えているかについてユニークな洞察を提供します
マイクロソフトはこれに関していくつかの本当に良いものを持っています。はじめに、彼らはここで素晴らしい無料の本を入手できます:
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
そして、古典があります-神話上のマン月、完全なコード、実用的なプログラマーなど。
この小さな本を試してください。
開発者向けソフトウェアアーキテクチャ-The Bookソフトウェアアーキテクチャの実用的で実用的なガイド
この本は、ソフトウェアアーキテクチャの実用的で実用的なガイドをまとめたエッセイのコレクションです。
ソフトウェアアーキテクチャとは
ソフトウェアアーキテクトの役割は何ですか?
ソフトウェアアーキテクチャをどのように定義しますか?
ソフトウェアアーキテクチャをどのように共有しますか?
ソフトウェアアーキテクチャをどのように提供しますか?
Expert One-on-One J2EE Design and Developmentをお勧めします。J2EEについての非常に優れた本であり、Spring Frameworkの理論的基盤です。
あなたが尋ねている質問は、ある意味で非常に無形です。ソフトウェアアーキテクチャはさまざまなものであり、ソフトウェアアーキテクトは非常に多様です。
ただし、いくつかのメモ:
上記の「クリーンコード」は、プログラミングで読んだ中で最高の本の1つです。。しかし、それは確かに建築に関する本ではありません。開発者向けの必須の読み物はい。
ファウラーによる「PoEAA」は良い本ですが、他の誰かが言ったように、今や古いものであり、提示されたパターンの多くは数年前に廃止されました。
Eric EvansによるDDDの本は、ソフトウェアの構築と顧客のコラボレーションに関する非常に堅実で刺激的な本です。アーキテクトにとって貴重なスキルですが、開発者にとっても有益です。
私がお勧めすることは、まずCode Complete 2を読んでください。これは、あなたの考えを形作り、物事を行うための最良の方法を見つけるのに役立ちます。
アーキテクチャの観点では、GOFまたはHead First Design Patternsから始めるのがよいでしょう。