Introduction to Application Frameworks - What Is an Application Framework?
(Page 2 of 5 )
Before I start selling you on the idea of application frameworks, we first need to define what it is. Let us start with the definition of framework from the American Heritage Dictionary: “A structure for supporting or enclosing something else, especially a skeletal support used as the basis for something being constructed; a fundamental structure, as for a written work or a system of ideas.”
The term “framework” can mean different things to different people. Politicians use the word to describe certain policies and certain approaches to problems. Architects (the ones who design buildings) use the word to describe the skeleton or frame of a building. Software architects use the word to describe a set of reusable designs and code that can assist in the development of software applications. It is this meaning of “framework” that we will discuss in the rest of the book.
The word “structure” is really at the heart of any framework. Structure exists everywhere. When you see that a new construction is underway, the first thing you observe is that its structure is built first. When I am writing a book, I first come up with a structure, or outline, for what I will be discussing in the book. By developing a “structure,” we are forced to look at the big picture. In the case of a building, a focus on the big picture forces the architect to focus on how one portion of the construction affects every other aspect. In the case of writing this book, such a focus forced me to think about how chapters and topics are organized to make the whole book easy for readers to understand.
Structure also plays an important role in application development. A fairly complex application can contain so many moving and changing parts that no human being can keep track of their interrelationships. Structure helps us organize those moving parts into a few major ones that you can easily track. As we start developing the application, we can rely on structures to provide us with a context for detailed implementations. An application framework provides developers with a structure and template that they can use as a baseline to build their applications. Such a framework often consists of abstract classes, concrete classes, and predefined interaction among the classes throughout the framework. Developers can then build the application on top of the framework and reduce the development effort through reuse of code and designs provided in the framework. Figure 1-1 provides a high-level overview on how an application framework relates to a business application.
Of course, many applications have been developed without using a framework, so you can probably do the job without even knowing the concept of a framework. In the world of application development, everything can be done, with or without a framework. However, by taking an application framework approach, you can take advantage of the many benefits that a framework can offer your application. It is these benefits that lie at the heart of the promotion of application frameworks.

Figure 1-1. High-level overview of the relationship between an application and the application framework
This chapter is from Developing Application Frameworks in .NET by Xin Chen (Apress, 2004, ISBN: 1590592883). Check it out at your favorite bookstore today. Buy this book now.
|
Next: A History of Application Frameworks >>
More .NET Articles
More By Apress Publishing