If you are looking for a good .NET companion framework, you should seriously consider component-based scalable logical architecture (CSLA). Rockford Lhotka designed it to ease the development of business objects that must be reused and deployed in a variety of distributed scenarios, for example, two-tier architectures with desktop interfaces or three-tier architectures with Web interfaces. The result is a framework that provides built-in support for multilevel undo/redo, business rules, two-way data binding for both Windows and Web Forms, object persistence, custom authentication, and integrated authorization.
This book reports on the CSLA framework and comprises 12 chapters, which I think are well organized and easy to follow for the average .NET programmer; a few sections delve into some .NET intricacies that are necessary to implement two-way data binding, for instance, but Lhotka has managed to take the reader from the essential concepts to the intricacies so that it is really easy to understand them. Furthermore, readers who are not interested in the details may skip these sections safely.
The first chapter is an essay on distributed architectures in which the emphasis is on the distinction between logical and physical models and the mappings between them; this chapter motivates the need for a framework such as CSLA, whose design goals and main features are presented in chapter 2. Chapters 3 through 5 deal with the implementation of the framework itself. Although these chapters may seem to be of little interest to programmers who just wish to use the framework, I do not think it is a good idea to skip them since they provide the foundations of CSLA and many code snippets that will help readers understand them. Chapters 6 through 12 report on using the framework to implement a small, but not trivial, project management system to which the user can have access by means of a typical desktop application, a Web page, or simple object access protocol (SOAP).
I must confess that I enjoyed evaluating this book, and I definitely recommend it to programmers who develop typical business applications and wish to take the .NET framework a step further. I also think that it is a valuable resource as a textbook for information technology students since Lhotka’s style of writing is didactic and the design of the framework is quite clean. For readers who prefer C#, there is another version available [1].