ASP.NET 3.5 Application Architecture and Design

ASP.NET 3.5 Application Architecture and Design
Authors
Vivek Thakur
ISBN
1847195504
Published
24 Oct 2008
Purchase online
amazon.com

Application architecture is an essential skill for ASP.NET developers. It is always tempting to jump in and start coding, but planning your architecture early in the project will leave you with a solid application that scales well, is easy to modify and extend, and saves you time and effort later on. As businesses struggle to control their costs, writing solid code that can be extended easily is becoming even more important. This book takes a pragmatic approach to Application Architecture in ASP

Page 2 of 2
  1. Editorial Reviews
  2. Customer Reviews

Customer Reviews

punchcard said
I've been hearing a lot about domain models and design patterns in the ASP.NET world and quite frankly it mystified me because I didn't get it. It seemed like developers were more interested in what used to be called systems analysis than in web application development. Fortunately this book is perfect for explaining these concepts to an experienced ASP.NET developer. I found clear explanations of lazy loading, front controller design, model view controller, singleton pattern, factory method, dependency injection, command design pattern, etc. And the author describes how all of these design patterns and domain models can be implemented in ASP.NET so you aren't left wondering how it applies to web application development.

I also appreciated the fact that Vivek Thakur has a no nonsense attitude about how worthwhile a particular architecture may be for a particular project. Since I don't work on a large development team and my projects aren't commercial and don't need to scale or integrate with legacy systems, most of these advanced application architectures would be inappropriate. This book confirms my suspicion that some design patterns and domain models aren't justified for small and simple projects with low budgets.

Although the implementation details are sketchy and don't apply to my projects, I still picked up a few coding tips. But the main benefit to reading this book is that it demystifies many concepts that are being kicked around.

said
Application Architecture is always an interesting topic to read on. Different people have different opinions, there is no one perfect solution to a problem, ... This book covers application architecture, applied to ASP.NET, although these concepts can be applied in any application. Questions like "What are tiers?" and "How do you structure an application?" are dug into in the first few chapters. The next chapters focus on more specific areas of application architecture: the domain model, UML, creating an ER diagram, SOA, the ASP.NET MVC framework, ... Each of these concepts is explained using a single project example, which makes it easy to see the differences, pro's and con's of a certain solution.

To be honest, I don't think this book is something for experienced architects or lead developers. More experienced architects will probably remain a little bit hungry because large, complex, real-world architectures are not covered or illustrated. The book covers all concepts of application architecture using a simple example, which makes them clear to any developer who is interested in architecture but has always been affraid of all these concepts.

If you are familiar with the words "N-Tier", "domain model" and other architectural concepts, I think this book might not be covering architecture deep enough. Are you a developer wanting to release some open-source software? Unaware of the concepts mentioned? Then read this book as it is a great starter book.

said
The title of this book would lead you to believe that it will cover Application Architecture and Design utilizing .NET 3.5 components and that it would thoroughly discuss their interactions and usages. However, the book falls short. It is not entirely useless (hence, a grudging 2 stars) since it covers multi-tiered design relatively well, takes a stab at briefly introducing modeling techniques (ER diagrams, UML), and tackles some useful design patterns. However, there is a vast amount of information missing, and it is littered with flaws as I'll outline below.

First, as mentioned by the prior reviewer, the code formatting is horrendous. There is no rhyme or reason to why the code is all over the place. There are also many coding errors. Namespaces are confused and changed from one page to the next. Objects are misused in place of other objects. Worst of all, I often found the code presented out of order in a conversational manner rather than from the ground up. For example, classes with associative dependencies were shown in reverse order, making it difficult to understand the work until 2 or 3 pages later. Sometimes the author would tackle almost random topics, such as thread safety on a Singleton, as an unexpected and fleeting trailing comment. If you wish to discuss thread safety, give it more pronounced attention.

Second, details are sorely lacking. Although the author does a decent job explaining some things in clear English, he skips many details that would be suitable to hammering away at architectural decisions. This is stemmed from an inadequate set of example projects with which to paint a clear picture. In an architecture book, you shouldn't be using a super simple Order Management System to illustrate your points. This, coupled with poorly written / presented code made it difficult to compare and contrast approaches. And what's up with the English? There is some terrible grammar sprinkled throughout this book. I understand that English may not be the first language of the author, but what excuse do the numerous editors, reviewers, and proofreaders have?

Third, the book is written for beginners, which is odd for an architecture focused title. I think the target audience should have been intermediate programmers and more computer science should have been infused into the discussion and descriptions.

Fourth, the chapters are not advertised correctly. Chapter 7 is titled SOA and WCF. Not only is the presentation of SOA really dumbed down, but the WCF coverage is barely 3 pages, which should be a crime. There is often way too much attention paid to teaching the reader how to create a new Visual Studio project, rather than comparing and contrasting technologies. Plenty of books exist that teach how to use WCF and WebServices in Visual Studio, but they often fall short on painting a larger picture about why these technologies are relevant and how to integrate them with other .NET components. I thought this book was aiming to provide that "glue", but it does not.

Fifth, where is the .NET 3.5 content? WCF (Windows Communication Foundation) is literally mentioned in only 3 pages, and done so in an elementary fashion. WF (Windows Workflow Foundation) isn't mentioned at all, even though it plays a large role in modern enterprise web application development. There is nothing on .NET 3.5 SP1 components like ADO.NET Entity Framework and Data Services, which again play very large roles in building real web applications atop .NET 3.5 using ASP.NET! These technologies were available in late-beta form at the time of writing, but are not even mentioned in the book. I find this to be the last straw.

I DO NOT recommend purchasing this book until the author and publisher spend some real time working on a new edition that addresses most, if not all, of these issues.

josephguadagno said
Although this books title states the book is for ASP.NET 3.5 application architecture and design, you will be able to take these concepts well beyond ASP.NET. The concepts and technics that this author conveys can be used for all Windows .NET development. The author starts out explaining basic 1 tier architecture and eventually graduates you to a five tier architecture.

The book covers ER diagrams, domain modeling, common design patterns, SOA, WCF and even database design. This book is a good starter book for those of you that want to move out of the developer role and start learning about basic principals in applications design.

There is only one downside the book and that is the formatting of the code samples. There seems to be an issue with the spacing and tabs (at least in the book). Other than that it is a good read.

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila” - Mitch Ratcliffe