This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
A Framework is a set of class, interfaces and what have you to help you get your job done. For example, Struts is a framework which emphazises the Front Controller Pattern for the ServletTechnology model, which has a bunch of tags and class which you can use to create the Presentation tier of a web based application.
Frameworks often use Inversion of Control, also known as the Hollywood "don't call us, we'll call you" style. For example the Struts framework accepts an incoming HTTP request, parses out the request parameters, maps the request to an action class and calls the action class, finally running code that you wrote.
Struts is in control. You can't change this sequence. Struts calls you when it's time for you to do something. Then it takes control again to call a view or something.
Here Martin Fowler talks about how the inversion of control is what distinguishes a framework from a library.
Did that make sense? If you don't know Struts at all we can try again with a more familiar example. [ August 25, 2006: Message edited by: Stan James ]
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Technology is a specification given by an organization and it will provide a functionality. By using Technology we can develop the technology related functionality and can also integrate with other technologies.
But framework is a set of libraries which will provide a scratch level implementation using one or more technologies and also provides Quality ,reduce development time.