Developing Application Frameworks in .NET - Chen, Xin (Apress, 2012)
Application frameworks, which provide a base of common services on which applications are built, offer the benefits of extensibility, modularity, and reusability of both code and design to your applications. This book explains what frameworks are and how they fit into applications, and offers many object-oriented techniques used in application frameworks. This book also shows readers how actually to develop application frameworks through a concrete framework example called Simplified Application Framework (SAF). The SAF framework was developed by Xin Chen in C#. It consists of common services needed by many applications, such as a class factory service, configuration service, event notification service, security service, and transaction service. The book goes into detail on each of these services to explain its benefits, as well as its design and implementation in C#. Through a discussion of each service, readers will also learn about many advanced .NET techniques employed by the framework, such as .NET remoting, reflection, custom attribute, multithreading, and ServicedComponent. Many of the services discussed in the book also use design patterns as their blueprints. The book discusses these design patterns in depth and shows how to implement them in a real-world scenario. Accompanying the book are the complete source code of the sample framework and sample executable projects (downloadable via the Internet), allowing readers to actually test out each framework service/component of SAF and learn about the development of frameworks, .NET technologies, and design patterns in a more interactive fashion.