Microsoft .NET: Architecting Applications for the Enterprise (PRO-Developer) | 
enlarge | Authors: Dino Esposito, Andrea Saltarello Publisher: Microsoft Press Category: Book
List Price: $39.99 Buy New: $22.91 You Save: $17.08 (43%)
New (28) Used (6) from $22.91
Rating: 7 reviews Sales Rank: 9380
Media: Paperback Number Of Items: 1 Pages: 304 Shipping Weight (lbs): 2.1 Dimensions (in): 8.7 x 7.3 x 1.1
ISBN: 073562609X Dewey Decimal Number: 005.2768 EAN: 9780735626096 ASIN: 073562609X
Publication Date: October 15, 2008 Availability: Usually ships in 1-2 business days Shipping: International shipping available Condition: Brand new item. Over 4 million customers served. Order now. Selling online since 1995. Few left in stock - order soon. Code: H20090107024553T
| |
| Similar Items:
|
| Editorial Reviews:
Product Description 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.
|
| Customer Reviews: Read 2 more reviews...
Great book January 5, 2009 I'm in agreeance with most of the other reviews. I wanted to give this a 5 but I agree with the other 4 star that what prevents me from giving a 5th star is the lack of relevant examples. This will largely be a preference of the person purchasing the book.
The books states early to look at a group effort of some Northwind example but for me I like to have working samples as I go through a book. As I've said in other reviews, that's the point of me spending money on a book. We are limited on time and are looking for a go to where every thing is in one place and is easy to follow along.
The book, even without great sample code is well written and easy to identify with. I've been looking for a book like this for 2 years. Great work and would recommend it to any software developer looking to make themselves better.
Excellent reference for an architect January 5, 2009 For a long time I have been searching for a good & easily understandable book on application architectures & patterns and finally my search ended with this book. I have read P of EAA Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series) before but this book provides good context and examples around each of the patterns mentioned in P of EAA. couple of -ves I see in this book are, 1) there's no clear-cut examples for certain concepts that authors are trying to make in the book (e.g. application logic vs. business logic) 2) Although it provides good overview of all patterns including the ones related to yesterday's architecture (e.g Transaction script) I think more info, examples, best practices should have been provided on patterns more relevant to today's Enterprise applications (e.g. domain model)
Never-the-less I would recommend every architect to keep this in their reference library.
If you want to know the current .NET architectural trends, this is a must read January 1, 2009 3 out of 3 found this review helpful
It is a misconception that architecture is a fully understood field. Like the rest of us in the relatively young discipline of software development, architects are making their way along with rules of thumb, buzzwords and trends, too, and doing their best to tie them all together.
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.
Nice book, here is the Table of Contents December 23, 2008 3 out of 3 found this review helpful
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 facade 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
Great book overall December 13, 2008 0 out of 3 found this review helpful
I wish my team would read this book. Too many developers in the workforce right now do not understand these principles, and should.
The book does a great job of putting the whole package together and how to implement each layer.
I would write a lot more if I was not so busy. I can't say enough.
Who should get this? Anyone that has already learned the fundumentals of developing in .NET.
|
|
|