What is Framework?

December 6th, 2008 | by Chetan |

Framework is incomplete, though concrete, driving solution to recurring high-value problem. To elaborate more, let me go through properties of framework one by one.

1. Framework is concrete.

In other words, framework has physical components - usually files usable during production.
Java and .Net frameworks are set of concrete components like dlls, arjs, exes etc.

GoF Design Patterns are not framework as they are practical design ideas. It is up to you to apply those ideas to context. Design patterns are logical ideas which you convert to concrete software in a project, whereas framework is concrete already.

2. Framework is incomplete.

Framework itself is not usable on its own. Framework does leave some fill-in-the-blanks for its user.

If you deploy Java/.Net framework to a end-user computer, it does not add any usability value unless you write your own code to use Java/.Net and then deploy that code in executable form along with framework.

More powerful is framework, less complex are fill-in-the-blanks and more efforts in learning to use framework.
Frameworks pose trade-off challenge between learning curve and saving-coding-time.

3. Framework drives solution.

Framework dictates how you do fill-in-the-blanks. Framework dictates overall architecture of complete specific solution.

You have to follow ASP.Net rules, if you have to use ASP.Net framework to build a website.

4. Framework helps solving recurring problems.

That just means that framework are very much reusable as they are helpful in many recurring problem contexts. This also implies commercial case for building a framework for set of problem contexts.

5. Framework deal with high-valued problems.

How to add two number is a problem. Solution is a routine in a form of library. But then it is not a framework as problem is not high-valued.

Providing object persistence is high-valued problem and you can build framework for same. Note that value is relative term.

If you look at these properties, it does not make sense to try to solve any specific non-trivial problem without help from a already existing and proven framework!

  1. 9 Responses to “What is Framework?”

  2. By Marco on Jan 3, 2009 | Reply

    Hi, this is so far the best definition of a framework. Question: Did it come out of your head or based on some literature? If the former, congratulations (unfortunately, I can’t cite blog entries). If the latter, could you indicate me some further links? Thanks a lot and have a nice day. Marco

  3. By Chetan on Jan 4, 2009 | Reply

    Hi Marco,

    Thanks for appreciation.

    This is not copy from anywhere though Point 3 is obviously stated everywhere.

    You can check following:

    http://www.codeproject.com/KB/architecture/WhatIsAFramework.aspx

    http://en.wikipedia.org/wiki/Software_framework

    Thanks.

  4. By Manaswini on Feb 9, 2009 | Reply

    Great explanation. I have just little knowledge on Java and never got chance to work in java. Your article really gave me understanding in a very generic manner. Thank you.

    I need some more information. Can you give similar understanding for design patterns as well.

  5. By Kim on Mar 14, 2009 | Reply

    For more information on Frameworks and expert advise regarding Software development; check out Dr. Dobb’s Portal @ http://www.ddj.com/blog/architectblog/archives/2006/07/frameworks_vs_l.html

  6. By Mahmood on Mar 25, 2009 | Reply

    Hi Chetan,
    Thanks a lot for your simple, clear and to the point explanation.

    I have one question please.
    -Is there any framework for building a wireless patients monitoring system?

  7. By Pravind on May 3, 2009 | Reply

    Dear Chetan,
    i got it is good for first look and much specific analysis. i appreciate your work. These days i am working on financial framework. if you have idea about financial framework, that should be more generic, then please share with me.

    thanks a lot
    Pravind Kumar

  8. By elshera on Aug 27, 2009 | Reply

    hi..that’s a great explanation..

    do u have any idea about departmentalized examination framework?..please share it with us..tnx

  9. By Shaun on Dec 12, 2009 | Reply

    Awesome explaination! Thanks a million!

  1. 1 Trackback(s)

  2. May 11, 2009: Framework dla aplikacji webowych | Szlifowanie Javy

Post a Comment