Avatar of JRumana
JRumana asked on

Design Patterns vs Framework

What is the difference between desing pattern and framework
Programming Theory

Avatar of undefined
Last Comment

8/22/2022 - Mon

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question

framework word can be also address defined schemes of software design and build, a collection of procedures that the developer can follow to achieve better results.
In this sense, a framework is not a pattern. A pattern tells you how to solve a particular design problem. A framework, like Unified Process, SCRUM, Extreme Programming, etc, are methods to productively develop software that cover every aspect in the development process: how to understand the domain of interests, how to design robustly the interfaces, how to exchange ideas among team, best way to achieve a common vision, best way to deal with clients, best way to organize the work, etc...

If I had to make a metaphore, a design pattern is a martial art move, a special punch or kick to attack in that situation: you can use it just in that problem and just to solve that, otherwise you'll mess everything; a design framework is the entire martial art style: everybody are more or less effective and deal with the problem from a different perspective.

I repeat, a design framework is NOT a software framework, which is a software library to help developers (like, the Java library, GTK, QT, .NET, MFC, etc.)

A way of looking at it that I find helpful is as follows:

A design pattern is a abstraction of a best practiceit can be used as a guide or reference to be applied in any implementations where it is appropriate.

A framework is a partial implementation of a best practice or design pattern that the user builds upon to create a complete and fully-functional end product.
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes