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.

Leave a Reply

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