A design pattern is a way of doing things. It solves the trouble of reinventing the same old wheel and lets us know from the makers themselves as to how fid they do it. THe main thing about using a design pattern is saving of time in deciding a technique to go about designing the architecture of your application.
For example, the factory pattern which has been developed on the OOAD theory says that instead of returning a specific object return a generic object via a factory class which creates the object for you. After your receive the object you can typecast it to your desired object.
A Framework on the otherhand is made for reusablity. When an application goes into the coding phase people write routines to get things done. Now these routines are commonly used in most of the applications viz. fetching data from somewhere, making a remoting call, or parsing an XML file. Such routines when clubbed together and released as a library or an api form a framework. This helps developers worlwide to use the framework and code for the application. Using a framework helps these developers to concentrate more on the business logic enhancement rather than studying how to fetch data from somewhere.
Somwhere on the net I found a short and sweet differentiation
Dessign Pattern is thinking,
Framework is half product.