Pattern Driven Design

PDD or POD

Pattern Driven Design (or Pattern Oriented Design) is the methodology for “composing” proven design patterns into reliable software systems.

The concept is to apply for concrete problem the pattern that fits better, and to repeat the process all over again. Build software from various pattern building blocks until desirable solution for system is achieved.

Because pattern-sharing became so widespread, it was established as a common vocabulary for design problems, kind of dedicated language between software developers. This vocabulary allows faster and more effectively to identify, share and face problems with solutions.

Probably, the most exciting thing about patterns is the fact that they comprise proven solutions to different design problems. They help software developers to think on software architecture and this leads to overall benefits.

PDD assumes a wide context of software architecture. Software system consists from a rich model of patterns with interrelationships, and this is the primary jet force to adopt them into day-to-day developer’s life and benefit from writing quality software.

Motivation to apply patterns

Learning patterns is useful, but the real power of patterns does not lie in simply learning and using them. Let me explain the motives: most benefits come when your knowledge level allows to start thinking in patterns, and I should emphasize on thinking and reasoning inside the context. Suddenly, abstract and complex things start to become simple and structured building blocks inside solution and than comes the understanding that this learning curve leads to real quality in code with strong maintanability capabilities on software being developed.

8 March 2018