J'ai quelques développeurs dans mon entreprise qui souhaitent passer de la programmation à l'architecture. Quels sont les meilleurs livres sur la théorie et la pratique de l'architecture logicielle? Incluez une photo de couverture si vous le pouvez.
N'hésitez pas à inclure des livres généraux, ainsi que des livres relatifs à une technologie spécifique.
C'est un assez bon livre, bien qu'il ne traite pas de l'architecture logicielle en général, mais de l'architecture des applications métier.
Mais, j'encouragerais ces développeurs à ne pas passer à l'architecture et à oublier totalement la programmation. S'ils le font, ils n'auront aucun respect des programmeurs et ils ne seront pas correctement équipés pour prendre des décisions architecturales.
Le livre le plus souvent cité/référencé sur les architectures logicielles, et le livre utilisé lorsque j'ai suivi le cours d'architecture logicielle dans mon université est Software Architecture in Practice (2nd Edition) de Len Bass, Paul Clements et Rick Kazman .
Au moins un professeur qui enseigne le cours a changé le manuel en Software Systems Architecture par Nick Rozanski et Eoin Woods , mais je ne peux pas garantir la qualité ou le contenu de ce livre. Selon Sergio Acosta (dans les commentaires), le livre de Rozanski est plus récent, basé sur le travail de Bass, et il le considère plus facile à lire. Je suis rarement déçu par les livres utilisés dans le programme de génie logiciel.
Une lecture incontournable pour tous les programmeurs:
http://www.Amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612
ce serait mon choix # 2. Bon livre sur les pratiques et le bon code. Un peu pédant parfois.
C'est mon choix numéro 1 en ce moment. Meilleur livre sur la façon de créer (développer) une application maintenant.
Une collection de papiers classiques que tout architecte sw doit lire http://www.Amazon.co.uk/Software-Fundamentals-Collected-Papers-L-Parnas/dp/0201703696/ref=sr_1_7?ie=UTF8&qid=1291810946&sr = 8-7
Si vous utilisez .net, consultez ces deux ... (il existe également des versions d'applications Web)
Microsoft .NET: Architecting Applications for the Enterprise (Microsoft)
Je ne citerai pas ceux qui l'ont déjà été par d'autres, alors j'ajouterai celui-ci:
Concepts Techniques et Modèles de Programmation Informatique , par peter Van Roy et Seif Haridi
Le problème évident est qu'il a utilisé le maintenant (sorte de) défunt Mozart Programming System et l'incroyable langage de programmation Oz . Ce qui a ensuite engendré d'autres expériences intéressantes comme le langage de programmation Alice ML .
C'est, cependant, un livre étonnant, à la fois pour apprendre la programmation informatique et pour avoir une compréhension approfondie des concepts CS et une bonne vue d'ensemble des concepts d'architecture sans utiliser de mots à la mode.
Un peu verbeux parfois, mais très bien écrit.
Peut-être plus un livre de théorie CS à la fin qu'un livre d'architecture d'entreprise, mais je trouve ses enseignements très utiles à appliquer aux logiciels industriels.
J'ai trouvé les volumes 1 et 4 de Pattern-Oriented Software Architecture très utiles. Je suis sûr que les autres volumes sont bons aussi, je ne les ai tout simplement pas lus donc je ne peux pas les recommander.
Refactorisation, Martin Fowler
L'un des meilleurs livres de programmation dans l'ensemble.
Documenter l'architecture logicielle: vues et au-delà par Clements et al. du Software Engineering Institute.
essayez ce petit livre .
Architecture logicielle pour les développeurs - Le livre Un guide pratique et pragmatique de l'architecture logicielle
Ce livre est une collection d'essais qui forment ensemble un guide pratique et pragmatique de l'architecture logicielle.
Qu'est-ce que l'architecture logicielle?
Quel est le rôle d'un architecte logiciel?
Comment définissez-vous l'architecture logicielle?
Comment partagez-vous l'architecture logicielle?
Comment livrez-vous l'architecture logicielle?
Un livre intéressant est L'architecture des applications Open Source
Les architectes examinent des milliers de bâtiments pendant leur formation et étudient les critiques de ces bâtiments rédigées par des maîtres. En revanche, la plupart des développeurs de logiciels ne connaissent bien qu'une poignée de gros programmes - généralement des programmes qu'ils ont eux-mêmes écrits - et n'étudient jamais les grands programmes de l'histoire. En conséquence, ils se répètent les erreurs les uns des autres plutôt que de s'appuyer sur les succès des uns et des autres.
L'objectif de ce livre est de changer cela. Dans ce document, les auteurs de vingt-cinq applications open source expliquent comment leur logiciel est structuré et pourquoi. Quelles sont les principales composantes de chaque programme? Comment interagissent-ils? Et qu'ont appris leurs constructeurs au cours de leur développement? En répondant à ces questions, les contributeurs de ce livre donnent un aperçu unique de la façon dont ils pensent
Microsoft a de très bonnes choses à ce sujet. Pour commencer, ils ont un excellent livre gratuit disponible ici:
http://msdn.Microsoft.com/en-us/library/ff650706.aspx
De plus, beaucoup de leurs livres blancs sur le design sont ici:
http://msdn.Microsoft.com/en-us/practices/bb190351
Vous voudrez probablement vous renseigner sur les modèles de conception:
http://www.Amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612
Et puis il y a les classiques - mois homme mythique, code complet, programmeur pragmatique, etc. Un peu de recherche vous aidera à trouver les bons livres.
Ce que je suggérerais, veuillez aller lire Code Complete 2 d'abord. Cela vous aidera à façonner vos pensées et à trouver la meilleure façon de faire les choses.
Du point de vue de l'architecture, c'est un bon début avec les modèles de conception GOF ou Head First.
Patterns of Enterprise Application Architecture est un excellent livre
La question que vous posez est en quelque sorte très intangible. L'architecture logicielle est différente et les architectes logiciels sont un groupe très diversifié.
Quelques notes cependant:
"Clean Code" mentionné ci-dessus est l'un des meilleurs livres que j'ai jamais lu programmation. Mais ce n'est certainement pas un livre sur l'architecture. Lecture obligatoire pour les développeurs, oui, mais ne donne pas beaucoup de détails sur la façon dont les gros éléments s'emboîtent, imo.
"PoEAA" de Fowler est un bon livre, mais comme quelqu'un l'a dit, un peu vieux maintenant, et bon nombre des modèles présentés sont obsolètes il y a plusieurs années.
Le livre DDD d'Eric Evans est un livre très solide et très inspirant sur la construction de logiciels et la collaboration client - des compétences précieuses pour les architectes, mais aussi pour les développeurs.
Je recommande Expert One-on-One J2EE Design and Development . C'est un très bon livre sur J2EE, et c'est le sous-sol théorique de Spring Framework.