The two books I am reading now on application frameworks are really exciting and interesting.
- Developing Application Frameworks in .Net, by Xin Chen
This book is the perfect sample on how to implement GOF’s design patterns over .Net. It gives you implementation examples through the Chen’s Simple Application Framework which contains very interesting engines and teachs you on .Net capabilities. I plan to use some parts of the SAF into my Boxerp Framework as the Cache engine for the client side, because I already have a cache at the server side provided by NHibernate second level cache. Im disagree in some points as for instance, the use of SoapSuds in Remoting instead of Interfaces dlls deployment but the most part of the book is awesome. It is very short, you can read it in just one week.
- Expert C# 2005 Business Objects, by Rockford Lhotka
This is a 616 pages book plenty of rationale for building frameworks that shows you the implementation of the Rockford’s CSLA framework throughout the book and also shows it’s use by making sample applications on it.
It is fantastic to read that seasoned developers as Rockford face the very same issues than you as developing applications or frameworks and also that sometimes there is only one way to get the right solution. But it is more exciting to read a rationale that forces you to change your mind to address the problem in a different manner, or to realize that there are quite a few means of solving a problem. For instance you might design some part of the framework to be used in desktop applications and then realize that you can’t leverage that part on a web app. The book may help you on how to write more reusable code among other matters.
What I don’t like in either books is that they never quote any open source technology as Mono, MySQL, NHibernate, or Apache, they always quote Microsoft technologies. That is no problem for me because I know that technologies, I know that there is a wonderful .Net multiplatform framework called Mono which is open source, and a wornderful ORM as ActiveRecord but I think the books are not complete for young or junior developers because of this.
You can find out them at Amazon: Here and here