Patterns in the Solution Design Process

F

Frankie

Where and how in the design process do you bring patterns (as formalized by
the GoF) into play? In particular, after identifying specific feature
requirements, do you...

ONE: go hunting (quick as that effort may be) for a pattern that addresses
the design problem? And then design a specific solution by using the
relevant pattern(s) as a guide?

Or

TWO: do you tend to design a solution and object model (without explicitly
attempting to frame the solution in terms of patterns - or without
attempting to use a pattern as a sort of blueprint), then communicate about
your solution later in terms of patterns that are more-or-less relevant -
and that you may or may not have closely approximated in your design?

I ask because I'm curious about the role that patterns do (or possibly
should) play early in the design process.

I do understand other valuable roles of patterns - like the fact that they
help us to communicate more succintly ad hoc - but I'm particularly
interested in knowing how you bring them into play in the design process -
before the solution is designed.

Thanks!
 
B

Bob Powell [MVP]

From experience I would say that a knowledge of patterns enables a more
streamlined design process. If for example you're application requires an
undo-redo feature, a Command Pattern implementation is in order. If your
application requires loose coupling, maybe a dependency injection pattern is
needed.

In all cases, knowing the pattern is no more than a guide to finding or
creating the best implementation. For example, when one uses CAB as an
application model, there are so many wrong ways to implement MVP (Model View
Presenter) that a strong knowledge of the pattern's intentions is needed
before you can really take advantage of the principles. I guess I'm saying
that you shouldn't attempt to implement the pattern unless you really
understand what it's for. Knowing that they exist is nothing more than a
sanity check. Who knows, you may have to invent an original one yourself if
the application dictates.

--
--
Bob Powell [MVP]
Visual C#, System.Drawing

Ramuseco Limited .NET consulting
http://www.ramuseco.com

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top