This post originated from an RSS feed registered with .NET Buzz
by Jonathan Crossland.
Original Post: A Framework is a Class
Feed Title: Jonathan Crossland Weblog
Feed URL: http://www.jonathancrossland.com/syndication.axd
Feed Description: Design, Frameworks, Patterns and Idioms
a "class is to object" as a "Framework is to Application"
Frameworks provide and establish an architecture.
Provide
They "provide" architecture by the Design Patterns they use.
A Framework provides an architecture, by how it is structured.
A given framework may have Open and/or Closed Layers.
It can provide and sometimes enforce object granularity,
object structure, interfaces, contracts and messaging.
Even the most simplest of Frameworks provide a simple architecture,
example: if it forces you to implement a concrete class and pass it to another, the architecture begins.
Therefore, it "provides" an architecture. Using a given Framework correctly
(by abiding to the rules, and staying within the boundaries), you are begining to "Establish" an architecture for your application.
Establish
They "establish" architecture by the Design Patterns they use.
A Framework delivers the architecture from the Framework itself to the Application.
Many applications built on the same Framework, will emit a common architectural feel.
The Applications as a whole may be different, but the structure within is common.
Having the boundaries established, the Application has implemented the pattern that is the "composite pattern" provided by the framework.
Therefore, one could say:
that a "class is to object" as a "Framework is to Application"
A framework provides the interface and contract to which all applications should be built.