When planing the architecture of an application, the architect has a powerful set of tools available: Design Patterns Design Patterns are reusable solutions for frequent problems, upon different contexts. The more you know about them, the more self-confidence