StackStalk
  • Home
  • Java
    • Java Collection
    • Spring Boot Collection
  • Python
    • Python Collection
  • C++
    • C++ Collection
    • Progamming Problems
    • Algorithms
    • Data Structures
    • Design Patterns
  • General
    • Tips and Tricks

Sunday, June 1, 2008

About Design Patterns

 June 01, 2008     Design Patterns     No comments   

This article gives a basic introduction to design patterns and talks about the classification of design patterns namely creational design patterns, structural design patterns and behavioral design patterns.

Design Patterns Introduction

  • Design patterns describe recurring software design problems and their solutions.
  • Design patterns assign in reuse of software architectures.
  • Design patterns are independent of any programming language and they don't talk about code re-use.
  • The book "Design Patterns: Elements of Reusable Object-Oriented Software" also referred as "GoF (Gang of Four) Book" started the design patterns. Enrich Gamma, Richard Helm, Ralph Johnson and John Vlissides are the authors of this book.
  • Design patterns are classified into various categories:-
  1. Creational patterns,
  2. Structural patterns and
  3. Behavioral patterns.
  • Creational patterns deal with instantiation. Some examples include:-
  1. Singleton,
  2. Abstract Factory,
  3. Factory,
  4. Builder and
  5. Prototype patterns.
  • Structural patterns deal with ways of class composition to add new functionality. Some examples include:-
  1. Adapter,
  2. Bridge,
  3. Composite,
  4. Decorator,
  5. Facade,
  6. Flyweight and
  7. Proxy patterns.
  • Behavioral patterns deal with object communication. Some examples include:-
  1. Chain of responsibility,
  2. Command,
  3. Interpreter,
  4. Iterator,
  5. Mediator,
  6. Memento,
  7. Observer,
  8. State and
  9. Visitor patterns.
  • Share This:  
Newer Post Older Post Home

0 comments:

Post a Comment

Follow @StackStalk
Get new posts by email:
Powered by follow.it

Popular Posts

  • Avro Producer and Consumer with Python using Confluent Kafka
    In this article, we will understand Avro a popular data serialization format in streaming data applications and develop a simple Avro Produc...
  • Monitor Spring Boot App with Micrometer and Prometheus
    Modern distributed applications typically have multiple microservices working together. Ability to monitor and manage aspects like health, m...
  • Server-Sent Events with Spring WebFlux
    In this article we will review the concepts of server-sent events and work on an example using WebFlux. Before getting into this article it ...
  • Implement caching in a Spring Boot microservice using Redis
    In this article we will explore how to use Redis as a data cache for a Spring Boot microservice using PostgreSQL as the database. Idea is to...
  • Python FastAPI microservice with Okta and OPA
    Authentication (AuthN) and Authorization (AuthZ) is a common challenge when developing microservices. In this article, we will explore how t...
  • Spring Boot with Okta and OPA
    Authentication (AuthN) and Authorization (AuthZ) is a common challenge when developing microservices. In this article, we will explore how t...
  • Getting started with Kafka in Python
    This article will provide an overview of Kafka and how to get started with Kafka in Python with a simple example. What is Kafka? ...
  • Getting started in GraphQL with Spring Boot
    In this article we will explore basic concepts on GraphQL and look at how to develop a microservice in Spring Boot with GraphQL support. ...

Copyright © StackStalk