我公司中有几个开发人员希望从编程过渡到体系结构。关于软件体系结构的理论和实践,有哪些最好的书?如果可以,请附上封面照片。
随意包括一般书籍,以及与特定技术有关的书籍。
我公司中有几个开发人员希望从编程过渡到体系结构。关于软件体系结构的理论和实践,有哪些最好的书?如果可以,请附上封面照片。
随意包括一般书籍,以及与特定技术有关的书籍。
Answers:
这是一本非常不错的书,尽管它通常不涉及软件体系结构,而是涉及业务应用程序的体系结构。
经常被引用/引用的有关软件体系结构的书,以及当我在我的大学修读软件体系结构课程时使用的书是Len Bass,Paul Clements和Rick Kazman撰写的《 Software Architecture in Practice》(第二版)。
至少有一位教授该课程的教授将尼克·罗赞斯基(Nick Rozanski)和伊恩·伍兹(Eoin Woods)的教科书切换为软件系统体系结构,但是我不能保证这本书的质量或内容。根据塞尔吉奥·阿科斯塔(Sergio Acosta)(在评论中),罗赞斯基的书是基于巴斯的著作而更新的,他认为这本书更容易阅读。我很少对软件工程程序中使用的书籍感到失望。
这将是我的第二选择。关于实践和好的代码的好书。有时有点书呆子。
我发现面向模式的软件体系结构的第 1卷和第4卷非常有用。我确定其他卷也都不错,只是我没有看过,所以我不推荐他们。
总体上最好的编程书籍之一。
我不会引用已经被别人引用过的内容,因此我将其添加为:
彼得·范·罗伊(Van Roy)和赛夫·哈迪(Seif Haridi)撰写的《计算机编程的概念技术和模型》
明显的问题是,它使用了现已失效的(已淘汰的)莫扎特编程系统和令人惊叹的Oz编程语言。然后产生了其他有趣的实验,例如Alice ML编程语言。
然而,这是一本了不起的书,既可以学习计算机编程,也可以深入了解CS概念,并且无需使用流行语就可以很好地了解体系结构概念。
有时有些冗长,但写得很好。
最终,也许更多的是CS理论书而不是企业体系结构书,但是我发现其教义对于应用于行业软件非常有价值。
记录软件体系结构: Clements等人的“ Views and Beyond ”。来自软件工程学院。
文档软件架构的封面http://ecx.images-amazon.com/images/I/512Fz-vNz5L._SL160_.jpg
足够的软件架构乔治·费尔班克斯(George Fairbanks)撰写的《。
“足够软件架构”的封面http://ecx.images-amazon.com/images/I/61%2BhzVm5IoL._SL160_.jpg
一本有趣的书是《开源应用程序的体系结构》
建筑师在培训过程中查看了数千栋建筑物,并研究了大师撰写的这些建筑物的评论。相比之下,大多数软件开发人员仅会很好地了解一些大型程序(通常是他们自己编写的程序),而从未研究过历史上的伟大程序。结果,他们重复了彼此的错误,而不是依靠彼此的成功。
本书的目标是改变这一点。在其中,二十五个开源应用程序的作者解释了其软件的结构以及原因。每个程序的主要组成部分是什么?他们如何互动?他们的建设者在开发过程中学到了什么?在回答这些问题时,本书的撰稿人对他们的想法提供了独特的见解。
微软对此有一些非常好的东西。首先,这里有一本很棒的免费书籍:
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
然后是经典-神话般的人月,代码完整,实用的程序员等。使用一些Google搜寻可以帮助您找到好书。
试试这本小书。
开发人员软件体系结构-本书实用且实用的软件体系结构指南
本书是一本论文集,它们共同构成了实用且实用的软件体系结构指南。
什么是软件架构?
软件架构师的作用是什么?
您如何定义软件架构?
您如何共享软件架构?
您如何交付软件架构?
我建议专家一对一的J2EE设计和开发。这是一本关于J2EE的很好的书,并且是Spring Framework的理论基础。
从某种意义上说,您要问的问题是非常不明确的。软件体系结构是不同的东西,软件架构师是一堆非常不同的东西。
一些注意事项:
上面提到的“ Clean Code”是我读过的关于编程的最好的书之一。但这当然不是一本关于建筑的书。是的,对开发人员来说是必读的内容,但imo并没有提供更多有关较大内容如何组合的见解。
福勒的《 PoEAA》是一本好书,但正如其他人所说的那样,它现在已经有些陈旧了,并且所呈现的许多模式在几年前就已经过时了。
埃里克·埃文斯(Eric Evans)撰写的DDD书是一本非常扎实,非常鼓舞人心的书,它讲述了软件构建和客户协作-对于架构师来说是宝贵的技能,但对开发人员也有好处。
我的建议是,请先阅读Code Complete 2。这将帮助您塑造思想并找到最佳的做事方式。
从体系结构的角度来看,这是从GOF或Head First设计模式开始的良好起点。
《企业应用程序体系结构模式》是一本好书