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!











Comments 13
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
Posted 03 Jan 2009 at 4:09 pm ¶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.
Posted 04 Jan 2009 at 9:09 am ¶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.
Posted 09 Feb 2009 at 7:54 pm ¶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
Posted 14 Mar 2009 at 1:32 am ¶Hi Chetan,
Thanks a lot for your simple, clear and to the point explanation.
I have one question please.
Posted 25 Mar 2009 at 8:40 am ¶-Is there any framework for building a wireless patients monitoring system?
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
Posted 03 May 2009 at 11:37 am ¶Pravind Kumar
hi..that’s a great explanation..
do u have any idea about departmentalized examination framework?..please share it with us..tnx
Posted 27 Aug 2009 at 9:03 pm ¶Awesome explaination! Thanks a million!
Posted 12 Dec 2009 at 6:52 pm ¶A wonderful explanation on framework. I have browsed a lot to know the exact definition of framework but none served the purpose. I am a newbie in Java, and I am into a new project which will be based on JSF, JSP, servlets. Your help will be much appreciated if you can suggest me good books or links for the beginners on such concepts. I also want to know what are the prerequisites for me before I start coding on the advanced Java technologies as mentioned above.
Posted 16 Feb 2010 at 5:41 pm ¶mind you that there also frameworks in academia, where a set of methodologies combined with theory make up a (conceptual) framework
Posted 11 Mar 2010 at 1:33 am ¶Nice definition has given by you
It is very clear and simple…..
Thank you…
Posted 01 Apr 2010 at 11:10 am ¶thanks i really appreciated your answers.it helps me a lot in my paper.God bless you always
Posted 27 Apr 2010 at 12:38 pm ¶thaaaaaaaaaaaaaaaaaaaank you so much!
Posted 30 Apr 2010 at 5:09 am ¶Trackbacks & Pingbacks 1
[...] http://blog.newtonicaonline.com/2008/12/06/what-is-framework/ [...]
Post a Comment