Design Patterns in Sofware Development

By | March 1, 2019

Design patterns are solutions to software design problems you find again and again in real-world application development. Patterns are about reusable designs, creation of objects and interactions of objects.

Design Patterns can be broadly categorized in following three categories

Creational Design Pattern

  1. Factory Method
  2. Abstract Factory
  3. Builder
  4. Prototype
  5. Singleton

Structural Design Patterns

  1. Adapter
  2. Bridge
  3. Composite
  4. Decorator
  5. Fa├žade
  6. Flyweight
  7. Proxy

Behavioural Design Patterns

  1. Chain of Responsibility
  2. Command
  3. Interpreter
  4. Iterator
  5. Mediator
  6. Memento
  7. Observer
  8. State
  9. Strategy
  10. Visitor
  11. Template Method

Anti-patterns are certain patterns in software development that are considered bad programming practices.

As opposed to design patterns which are common approaches to common problems which have been formalized and are generally considered a good development practice, anti-patterns are the opposite and are undesirable.

For example, in object-oriented programming, the idea is to separate the software into small pieces called objects. An anti-pattern in object-oriented programming is a God object which performs a lot of functions which would be better separated into different objects.

One thought on “Design Patterns in Sofware Development

  1. Hairstyles

    I’m very happy to read this. This is the type of manual that needs to be given and not the random misinformation that is at the other blogs. Appreciate your sharing this greatest doc.


Leave a Reply

Your email address will not be published. Required fields are marked *