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® and they provide code samples and expert insights you can apply right away to your own .NET-based enterprise solutions.
Key Book Benefits
Delivers patterns, principles, and techniques for effective software architecture Provides precise coverage of concepts and tools (UML, design patterns); the core system (business, services, data access, and presentation layers); and specific tools and frameworks, including .NET and Visual Studio Features numerous code snippets, models, and principles guided by years of real-world experience
This book will not leave my side... until the 2nd edition...
This book does a great job of putting architecture into a view that .NET developers and architects can relate to.
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...
T. Anderson04 December, 2008
Nice book, here is the Table of Contents
This book seemed really promising from the title and mainly its author (Dino Esposito), who is one of the best .NET writers out there. It took me a while to buy it though, because for weeks I tried in vain to find its table of contents, to know exactly what I was buying. Having failed at finding one, I decided to just take a chance and buy it anyway, and I don't regret, it is a good book.
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
R. Vieira23 December, 2008
Fun to read, great recap
I back ordered this item as soon as I saw it on my amazon suggestions. I had read books from Dino Esposito before and like the way he presents the concepts. The book is fun to read and inspirational. The UML recap is very handy. The section To SP or not to SP in chapter 6 a is a must read, I will definitely pass that on to some coworkers! Finally a great good summary of reasons why stored procedures are not the silver bullet.
The organization of the book in patterns per application layer is also a very good way to present the information, must software pattern books give a summary of patterns without emphasizing where it would be better to apply the pattern itself, or the pattern components.
Lizet Pena de Sola21 November, 2008