Design Patterns

What is Design Patterns ?

Design patterns are the best practices to solve the common design/coding problems. Design patterns are programming language independent strategy for solving common object-oriented design problems. By implementing the design patterns we make our code more flexible, reusable and maintainable. It is a most important part as java internally follows design patterns.

What is the usage of Design Patterns ?

Design patterns make it easier to reuse successful designs and architectures.Expressing proven techniques as design patterns makes them more accessible to developers of new systems. Design patterns help you choose design alternatives that make a system reusable and avoid alternatives that compromise reusability. 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

Types of Design Patterns.

There are mainly three types of design patterns which are further divided into design sections.

  • Creational Patterns
    • Factory Pattern
    • Abstract Factory Pattern
    • Singleton Pattern
    • Builder Pattern
    • Prototype pattern
  • Structural Patterns
    • Adapter pattern
    • Bridge pattern
    • Composite pattern
    • Decorator pattern
    • Façade pattern
    • Flyweight pattern
    • Proxy pattern
  • Behavioral Patterns
    • Command Pattern
    • Observer pattern
    • Iterator pattern
    • Strategy pattern
    • Template pattern
    • Visitor pattern