A design theory proposes a hypothesis and provides criteria for evaluation, a design pattern is assumed to exist and to be perfect (perfection is the enemy of the good).
A design theory seeks objective evidence for the performance, customer satisfaction and the outcome of the theory. A design pattern assumes a static and stale view of how systems are built -- the customer does not fit here.
A design theory can be a design pattern, but no design pattern is a design theory.
A design theory must be testable. Design patterns are assumed 'correct' a priori - of course this assumption assumes a world that does not exist.
A design theory allows for revision, addition and synthesis. Design patterns have been handed down to us from on high -- only the fool would not obey (or the wise man).
A design pattern results in 'white papers', 'consultants fees' and 'lost projects'.. A design theory allows the project manager to control and guide the outcome.
A design theory is not interested in 'truth', but rather 'functionality' and fitness for existence in a constantly changing world.
This may appear to be an academic position. Ironically, it is not. Design patterns were developed by academics, design theories are a way for true software engineers to free themselves, liberate their customers, and to build truly amazing systems.
Design patterns are idols of worship.
Design Patterns suck.