Skip navigation.

What Goes Around Can't Be RecalledAll recent postsDon't Trust MSDN Installer

Book Review: Developing Application Frameworks in .NET

Much like Mr. Smith, who had a shed full of guns, to be good at our trade we need good tools and a solid foundation to rely on. In a general sense, we call this foundation “frameworks”. The author of Developing Application Frameworks in .NET, Xin Chen, defines framework as a set of reusable designs and code that can assist in the development of software. Short and accurate.

Developing Application Frameworks in .NETThe book presents the so called Simplified Application Framework the author created as a kit. Full source code is available from APress.

Xin Chen goes over each block of his sample framework explaining its rationale and inner workings. You will see application of such patterns as Class Factory, Decorator, Observer, Mediator, Strategy, Visitor, etc. I particularly liked how the Visitor pattern was presented in the last chapter.

One odd thing about this framework is that it resorts to remoting where you can get by without it just fine. There’s some kind of an obsession with distributed coding in this book. My advice is to make remoting provisions only when absolutely necessary.

Since I can’t find a decent table of contents at APress, here’s a breakdown of services covered:

  • Chapter 4 Class Factories
  • Chapter 5 Caching Service
  • Chapter 6 The SAF.Configuration Service
  • Chapter 7 SAF.EventNotification
  • Chapter 8 Windows Services
  • Chapter 9 Message Queue Services
  • Chapter 10 Authorization Service
  • Chapter 11 Authentication Service
  • Chapter 12 Cryptography Service
  • Chapter 13 Transaction Service
  • Chapter 14 DocumentLayer Service
  • Chapter 15 The Workflow Service

The Caching Service was borderline crazy: caching objects into an XML hierarchy is a bit too much. Cach is supposed to work fast. Don’t mess with a whole DOM of cached objects.

The book is quite small, and I read it to scout for neat ideas, so I enjoyed it a great deal. I have a feeling they forgot to proof it and printed it with a ton of typos (which gets annoying at times).

In conclusion, a note to authors out there: if you attempt to explain the Singleton pattern, proof-read your copy a hundred times. If you blow such a basic pattern, your book goes straight into the trash can ’cause that says something. This book does screw up Singleton, but curiosity didn’t let me prematurely dispose of it. No exceptions next time. :)

P.S. Does anybody find the redesign of APress.com atrocious or is it only me?

Comments

Comment permalink 1 Sean Chase |
Agreed. I bought a soft copy of the book and I felt that its approach was a great idea, but some of it was a poor implementation and had a real lack of copy editing. Either way, it is a one of the better books out there. The funny thing is that if I decided to adopt a framework, I would not use the framework from the book when the Enterprise Library is readily available on MSDN. :-)
Comment permalink 2 sunil kumar |
RELATED ASP.NET ALL TOPICES ?
Comment permalink 3 Dan Croak |
I agree with Sean... Enterprise Library is a better option than most of what Mr. Chen proposes. Enterprise Library is a lot more robust, and I think it's easier to use. The Configuration, Authorization, Authentication, Cryptography, and Caching chapters are essentially made obsolete for that reason. As Chen mentions in his book, the SAF does not take advantage of exception handling and other security features. EP does.

The Class Factories, the SAF.EventNotification, Message Queue Services, and The Workflow Service intrigued me, but I still don't understand many of the concepts. I was hoping this book would help teach me some of the GOF design patterns and at the same time give me a head start on a solid, easy-to-understand framework to build my C#/ASP.NET applications off of, but I didn't feel like this book did either one particularly well.

Emails and Notifications

Would you like to be notified when somebody responds to this post?  Would you like to have these comments emailed to you?

Submit your comment

Please enter only text since all HTML tags except hyperlinks will be stripped. Hyperlinks will become live links. Any comments with flaming or offensive language will be deleted. Be courteous to other posters. Thank you.

Your name (required):
Your email (optional):
Your site's URL (optional):
Enter this number
Type in the number above:
Comment (required):