Developing Application Frameworks in .NET, Apress
C# Online.NET Book Review
An application framework is an assemblage of classes and libraries designed to make application development quicker, easier, and less error-prone. Application frameworks provide structure by implementing design patterns. Application frameworks provide various services to the application depending on the focus of the framework. Frameworks are extensibile, modular, and reusable.
Books on application framework development are extremely educational for budding application developers. Application frameworks embody design patterns. Studying them teaches higher level—yet practical—object-oriented design principles (OOP).
The book describes the design principles and usage of a framework the author developed called Simplified Application Framework (SAF). While SAF can be very useful in application development, the major benefit of the book is learning how such frameworks are designed and constructed. The use of SAF means the examples are given are concrete and real world. The author talks the reader through every major design decision one faces in creating an application framework, discusses the trade-offs of each one, and shows why he made the decisions he did. Special attention is paid to discussions of implementing and using the Gang of Four (GoF) design patterns. Reading such a book is like taking a masters course for future application architects and developers.
The author's writing style is simple and direct. Reading the book is like sitting beside an experienced application framework designer and having him walk you through the code.
All of the source code examples are in the C# language.
Developing Application Frameworks in .NET is a masters course for future application architects and developers.
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 you actually how 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. This 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, you will also learn about many advanced .NET techniques employed by the framework, such as .NET remoting, reflection, custom attributes, multithreading, and serviced components.
Many of the services discussed in the book also use design patterns as their blueprints. This 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.
Special Note This book covers .NET 1.0 and 1.1. and assumes knowledge of the .NET Framework and C#.
About the author(s)
Xin Chen is the founder of Xtremework, Inc. Since the inception of .NET, Xin Chen has helped customers in a wide range of industries turn their business ideas into software products using .NET technology. Leveraging his expertise in .NET and EAI, Xin Chen has also worked with several technology leaders, such as Microsoft and Accenture, to bring winning solutions to their customers. When not working overtime, Xin enjoys reading books, writing books, and resting. He is the author of BizTalk 2002 Design and Implementation (Apress, 2003). Xin Chen earned a master's degree in statistics from Columbia University and is currently living in New Jersey.
Table of Contents (abbreviated)
- Chapter 1 Introduction to Application Frameworks
- Chapter 2 Dissection of an Application Framework
- Chapter 3 An Overview of the Simplified Application Framework
- 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