- Taschenbuch: 304 Seiten
- Verlag: Microsoft Press; Auflage: 01 (15. Oktober 2008)
- Sprache: Englisch
- ISBN-10: 073562609X
- ISBN-13: 978-0735626096
- Größe und/oder Gewicht: 18,8 x 2,8 x 22,9 cm
- Durchschnittliche Kundenbewertung: 2 Kundenrezensionen
- Amazon Bestseller-Rang: Nr. 237.224 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
Microsoft® .NET: Architecting Applications for the Enterprise (PRO-Developer) (Englisch) Taschenbuch – 15. Oktober 2008
|Neu ab||Gebraucht ab|
Kunden, die diesen Artikel gekauft haben, kauften auch
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre E-Mail-Adresse oder Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
To deliver the right solutions for increasingly complex enterprise and user requirements, you need vision. You need guidance. You need to apply the patterns and practices that by design create explicit outcomes for often-implicit challenges. In this book, you ll take a structured, realistic approach to resolving software complexity that places architectural integrity at its core. The authors share their extensive, real-world experience with enterprise and service-oriented development to illuminate the patterns, principles, and techniques for producing more-effective solutions, including the modeling techniques that ensure your architecture fully and explicitly addresses user requirements. They deftly cover essential concepts (UML, design patterns), the core system (business, services, data access, and presentation layers), and specific tools, including Microsoft .NET Framework and Microsoft Visual Studio(r) and they provide code samples and expert insights you can apply right away to your own .NET-based enterprise solutions.
Über den Autor und weitere Mitwirkende
Dino Esposito is a well-known ASP.NET and AJAX expert. He speaks at industry events, including DevConnections and Microsoft TechEd, contributes to MSDN' Magazine and other publications, and has written several popular Microsoft Press books, including Microsoft ASP.NET and AJAX: Architecting Web Applications.
Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?
In diesem Buch(Mehr dazu)
Wieder ein paar Seiten später, dann der Hinweis des Autors selbst. Es ist ein Werk, das permanent auf Martin Fowlers Architektur Muster verweist.
Das Buch bietet inhaltlich wenig neues, wenn man Martin Fowlers Architektur Muster kennt. Mir ist nicht klar warum der Autor dieses Buch geschrieben hat. Es ist wohl eine Art Homage an Fowler. Ich empfehle das Original zu kaufen.
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
I would say the target audience is intermediate to senior developers who are getting into software architecture, or architects who work on a database-centric way and want to get an update to the current buzzwords, such as domain model pattern, repositories, services, AOP, POCO, OR/M, DDD etc. This book does not try to be a definitive source on any of those topics, but more like an introduction and a reference; the authors make a good job at pointing for resources for those who want to get more dense information.
Books like Martin Fowler's "Patterns of Enterprise Application Architecture", the GoF classic Design Patterns book and Eric Evan's "Domain-Driven Design" are mentioned dozens of times, so people who have already read those books may not have lots of new stuff to see here, unless they are looking for a lighter reference or want to see how some of those ideas can be applied on .NET.
So, for those like me who have spent a few days on Google trying to find out the book's ToC, here is a summarized version, with some of the topics covered in parenthesis:
Part 1 - Principles
1 - Architects and Architecture Today (software life cycle, agile methodologies etc)
2 - UML essentials (UML models and usage, use-case diagrams, class diagrams, sequence diagrams)
3 - Design Principles and Practices (OOD, AOP)
Part 2 - Design of the System
4 - The business layer (transaction script pattern, table module pattern, active record pattern, domain model pattern, DDD)
5 - The service layer (service layer pattern, remote façade pattern, adapter pattern, SOA, AJAX service layer for rich web frontends)
6 - The data access layer (plugin pattern, Inversion of Control, data context, query services, concurrency, lazy loading, OR/M, stored procedures, dynamic SQL)
7 - The presentation layer (MVC, MVP, presentation model pattern, choosing a UI pattern, MVP in web presentations, MVP in Windows presentations)
8 - Final thoughts
The book covers design principles and patterns, and then relates them to each layer of a traditional layered system. It includes business, services, data access, and presentation layers. The authors include several different patterns for each layer and discuss the pros and cons of each.
The book focuses on the technical aspects of .NET architecture. It does not cover the soft skills need to be an architect, or cover the customer facing skills need to communicate with the business stakeholders. You won't find much on process either, just an overview. These missing topics have not taken away from the book, they have made it a stronger book. There are plenty of resources on how to execute the soft skills and architecture process. This book concentrates on how to communicate with the development team through solid design and well known patterns and principles.
This is a must read for all architects, no matter what your skill set is.
A .NET developer looking to move into architecture should make this book their first stop on a long journey. This will definitely get you off to a very strong start.
This book will not leave my side... until the 2nd edition...
Microsoft has always been a bit lacking when it comes to providing guidance for developing complex software. The alt.net crowd promised to fill in this lacuna, and even promoted itself in terms of filling in the blanks that Microsoft leaves in its technology offerings. However the results have been, I think, that the contemporary architect simply has more pieces to try to put together, and even more things to try to figure out.
Dino Esposito, in "Architecting Applications for the Enterprise", tries to make sense of this technical jigsaw puzzle by building on top of the core architectural concepts of layering and decoupling applications. He then takes these principles forward by seeing how the newest technologies and techniques -- WPF, WCF, Windsor, NHibernate, Entity Framework, MVP, MVC, etc. -- can fit together to form a mature enterprise application.
In many ways he cuts through much of the hype and provides insights into why you might want to use these technologies. He is comprehensive in treating each of the various Microsoft and non-Microsoft tools soberly, explaining the pros and cons of each.
Best of all, he tries to consolidate in his appendix all of his insights into a core set of architectural principles, one of which he reiterates throughout the book: the job of the architect is to reduce complexity, not increase it. It sounds simple, but many architects tend to forget this.
Mr. Esposito's final product is a synoptic view of the current state of software architecture. If you want to know what is currently thought of as best practices in enterprise architecture, then you need to read this book. It will either give you an idea of where you need to be, if you are just starting out, or reassure you that you are on the right track, if you have been following the trends of the past two or three years.
The only weakness I found in the book is perhaps the problem that these various tools don't always fit together nicely. For instance, I'm doubtful that ORMs really makes sense anymore if we decide to place them behind service layers. SOA and ORMs rose out of really different architectural problems, and provide somewhat incompatible solutions. Likewise, while the MVP pattern is very nice (we are curently using it on an enterprise project), it tends to break down when you attempt to apply it to anything complex, such as an object graph with more than two or three levels of dependent objects.
The book also recommends using interfaces extensively in order to promote testability, but on looking a little closer, this appears to be tied to a specific tool, Rhino Mock, which requires interfaces to be useful, rather to any particular architectural principle -- for instance, TypeMock doesn't require interfaces, but of course it also isn't free. Should your architecture really be tied to a tool in this way, or would it be better to find tools that support your architecture?
I tend to think, however, that this is a weakness in the current state of architecture rather than of Mr. Esposito's work. The truth is we are all trying to work this out together, and we are currently only mid-stream in our journey toward mature application architectures.
"Architecting Applications for the Enterprise" fortunately brings us all to the same point, as software professionals, and allows us to see the horizon for our collective next step forward.
(To find it, just do a Google search on "Parallel Aggregation". It's the first site returned.)
So if you want to save money and not feel fleeced (as I did), then I would suggest the Internet version.
By the end of this book I kind of liked it, although having said that it doesn't really offer anything new that hasn't been covered in other books, apart from the fact that the focus is on .Net technologies. For me I don't think this book offers too much to experienced developers, especially those with a lot of experience using .Net. Also for general software architectural principals there are better books around. Being fairly new to the .Net framework I brought this book primarily for an overview of .Net technologies that could be used in architecting applications and the best practices in applying them. In that sense this book is pretty good.
So if you're new to architecting software, or want an overview of .Net technologies and frameworks read this book. For experienced .Net folks I wouldn't bother, as this book probably won't teach you too much, except perhaps maybe providing a different perspective on software development.
In summary, the first half of this book (principals of software development) I'd rate as 2 stars, the second half (system design), 4 stars.