Friday, September 3, 2010

What is Software Framework

A software framework is an abstraction in which common code providing generic functionality. Frameworks are a special case of software libraries in that they are reusable abstractions of code wrapped in a well-defined Application programming interface (API).

Software frameworks have these distinguishing features.
1. The overall program's flow of control is not dictated by the caller, but by the framework itself.
2. A framework has a default behavior.
3. A framework can be extended by the user usually by selective overriding or specialized by user code providing specific functionality.
4. In general, the framework code is not allowed to be modified. Users can extend the framework, but can not modify its code.
5. It makes it easier to work with complex technologies

A software framework may include support programs, code libraries, a scripting language, or other software to help develop and glue together the different components of a software project. Various parts of the framework may be exposed through an API.

The purpose of a framework is to improve the efficiency of creating new software. Frameworks can improve developer productivity and improve the quality, reliability and robustness of new software. Developer productivity is improved by allowing developers to focus on the unique requirements of their application instead of spending time on application infrastructure. It also helps in modularity, easier maintenance, and shorter development times.

The main idea on frameworks is, that there is an almost ready to go application, which you can use and expand for your own demands.
There are several frameworks. To name a few like - Struts, JSF, Toplink, Spring, Log4J, J2EE, -

Hope this is useful!

No comments:

Post a Comment