Oct/092
ASP.NET 3.5 Application Architecture and Design
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.NET 3.5. It presents a series of common architectural models, and shows how to select the best ones for your project and apply them. The book begins by showing you how to use the main architectural models in your applications. Y...
Buy ASP.NET 3.5 Application Architecture and Design at Amazon





October 16th, 2009
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.
October 17th, 2009
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.