or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $1.16 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Microsoft® .NET: Architecting Applications for the Enterprise (PRO-Developer) [Paperback]

Dino Esposito , Andrea Saltarello
4.6 out of 5 stars  See all reviews (35 customer reviews)

Buy New
$28.97 & FREE Shipping. Details
Rent
$20.82
In stock but may require an extra 1-2 days to process.
Ships from and sold by Amazon.com. Gift-wrap available.
In Stock.
Rented by RentU and Fulfilled by Amazon.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Paperback $28.97  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

October 15, 2008 073562609X 978-0735626096 1

Make the right architectural decisions up front—and improve the quality and reliability of your results. Led by two enterprise programming experts, you’ll learn how to apply the patterns and techniques that help control project complexity—and make systems easier to build, support, and upgrade—right from the start.

Get pragmatic architectural guidance on how to:

  • Build testability, maintainability, and security into your system early in the design
  • Expose business logic through a service-oriented interface
  • Choose the best pattern for organizing business logic and behavior
  • Review and apply the patterns for separating the UI and presentation logic
  • Delve deep into the patterns and practices for the data access layer
  • Tackle the impedance mismatch between objects and data
  • Minimize development effort and avoid over-engineering—and deliver more robust results

Get code samples on the Web.


Frequently Bought Together

Microsoft® .NET: Architecting Applications for the Enterprise (PRO-Developer) + Microsoft® Application Architecture Guide, 2nd Edition (Patterns & Practices) + Patterns of Enterprise Application Architecture
Price for all three: $109.68

Some of these items ship sooner than the others.

Buy the selected items together


Editorial Reviews

About the Author

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.


Product Details

  • Paperback: 304 pages
  • Publisher: Microsoft Press; 1 edition (October 15, 2008)
  • Language: English
  • ISBN-10: 073562609X
  • ISBN-13: 978-0735626096
  • Product Dimensions: 7.5 x 1.2 x 9.7 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (35 customer reviews)
  • Amazon Best Sellers Rank: #39,964 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
47 of 49 people found the following review helpful
5.0 out of 5 stars Nice book, here is the Table of Contents December 23, 2008
By Lerxst
Format:Paperback
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
Was this review helpful to you?
17 of 17 people found the following review helpful
Format:Paperback|Amazon Verified Purchase
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...
Was this review helpful to you?
29 of 33 people found the following review helpful
Format:Paperback
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.
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars A must read for .NET Developers
This book was fantastic, a crash course through architecting a .NET app from UI to database.
What I loved is that the authors remain realistic. Read more
Published 22 months ago by T-Mac
5.0 out of 5 stars Excellent first architecture book
This book is excellent. It is the first book that I read about enterprise architectures and I really learned a lot of new things. Read more
Published 23 months ago by Me
4.0 out of 5 stars It Depends
This book is an interesting read for everyone who has a couple of years experience in software development. Read more
Published on April 13, 2011 by gamblor
5.0 out of 5 stars I wish i had read this book years ago!
This books contains all the basics needed to know to build software in a decent manner.

I must admit that after reading this book, I can see that most of the code I've... Read more
Published on April 13, 2011 by Thomas Kaj Bonfils
5.0 out of 5 stars Excellent book
This book is great. From the first chapter (which, by the way, you may be able to read for free on its page on Amazon.com) to the last, it provides clarity and therefore, quality. Read more
Published on March 24, 2011 by Dolha, Sorin
2.0 out of 5 stars Biased toward application develpers at the expense of database...
On balance, I was quite disappointed with this book. While I did learn some things, the book is not particularly well written and at times is unclear and tedious. Read more
Published on February 25, 2011 by Jeffrey Roughgarden
5.0 out of 5 stars A very revealing treatise on application architecture
I admit it: my .NET projects are not very structured, and there are too many components with multiple or overlapping roles. Read more
Published on December 30, 2010 by B. G. Palin
5.0 out of 5 stars This is a great book with balanced perspective
Prior to reading it I struggled with a few things when it came to developing in .Net. For example, I wanted to further develop my object-oriented skills and thought this would be... Read more
Published on August 19, 2010 by Matt
5.0 out of 5 stars Great Book!
I'd just like to say as developer, wanting to become an architect, this book has really opened my eyes. Read more
Published on May 20, 2010 by Dan
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



So You'd Like to...


Create a guide


Look for Similar Items by Category


Want to discover more products? You may find many from microsoft press shopping guide.