If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register or Login
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

C++ Design Pattern: What is a Design Pattern?

Q: What is a Design Pattern?

A: Design Patterns represent solutions to problems what arise when developing software within a particular context.

Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.C. Alexander, The Timeless Way of Building, 1979

Patterns help you learn from other's successes, instead of your own failures.Mark Johnson (cited by Bruce Eckel)

Q: How many types of design patterns exist?

A: Basically, there are three categories:

Creational Patterns: deal with initializing and configuring classes and objects

Structural Patterns: deal with decoupling the interface and implementation of classes and objects

Behavioral Patterns: deal with dynamic interactions among societies of classes and objects