The ASP.NET Enterprise Application Development book, which is part of the Problem/Design/Solution series, is setup as a book that illustrates the problem first, then moves to the design (and looks at various design possibilities), and finishes up with the solution to implement.  The sample project for this book is a time-tracking opportunity, an application to log employee’s time.

Each chapter of the book looks to layout the fundamentals of a business application, starting with the data access, business, and presentation layers.  The rest of the book is spent looking at the various features that the application needed (exception handling, security, workflow, etc.).  Most of the scenarios in the chapters use a code-specific implementation to solving the problem, rather than using other tools available to developers (for instance, the workflow chapter doesn’t leverage Windows Workflow Foundation).  Though there are a few tools used, like Crystal Reports and Enterprise Library.

The book has an interesting approach in how it implements the business logic; business applications are much different than personal web sites and other application types because they depend on the success of their business rules.  That is one of the focuses of the book, setting up how to structure your code so that you may handle the various business needs of the application.

The chapters that create specific features for the application (reporting, workflow, etc.) use a code-specific approach to creating these features.  The book lays out the changes to the database and data model, illustrates the stored procedures for the change, and then moves into the design solution.  Each new feature has a new ASP.NET page that he demonstrates fully along with any changes to styles, master pages, etc.  Each book discusses the chapter to the fullest detail, from the proc to the finished solution.

The style of the book typically follows the explanation of the business problem at the beginning.  When the book illustrates code, the author shows the code first, and follows up with an explanation of the solution.  In the design section, the book does discuss the various components that it does use to complete the solution (such as Crystal Reports for reporting and Enterprise Library for exception handling).

I was hoping the book was going to look more into using various design patterns within ASP.NET.  Although there are some, the architecture is pretty much the same throughout the application.  Additionally, the UI later doesn’t use much ASP.NET AJAX JavaScript implementations or a script library like JQuery, but leverages most of the logic on the server-side and, when necessary, leverages the update panel control.

While I don’t know that I would use the same architecture, I do like some of the features he implemented in the app and look to see how I may utilize this for my own development.