Introduction to design patterns

                       Smart Techie

                 A design pattern is a solution to a commonly occurring problem. The design patterns are not a finished solution. It is a template for “how to solve a design problem?”. The design patterns are the language and implementation independent.

Motivation:

In the process of developing Object-Oriented Systems, we have two phases.

  1. Object Oriented Analysis(OOA) – Addresses the functional challenges of a system and mainly focuses on “what the system does?”.OOA provides guidance for implementation.
  2. Object-Oriented Design(OOD) – Addresses the implementation challenges and mainly focuses on “how the system does?

Classification:

The design patterns are classified into three categories.

Design Patterns Classification

  1. Creational – concerns with the creation process of objects & classes

  2. Structural composition of classes & objects

  3. Behavioral – characterizes interaction & responsibility of objects & classes

In the coming days, we will discuss each design pattern in detail.

Siva Janapati is an Architect with experience in building Cloud Native Microservices architectures, Reactive Systems, Large scale distributed systems, and Serverless Systems. Siva has hands-on in architecture, design, and implementation of scalable systems using Cloud, Java, Go lang, Apache Kafka, Apache Solr, Spring, Spring Boot, Lightbend reactive tech stack, APIGEE edge & on-premise and other open-source, proprietary technologies. Expertise working with and building RESTful, GraphQL APIs. He has successfully delivered multiple applications in retail, telco, and financial services domains. He manages the GitHub(https://github.com/2013techsmarts) where he put the source code of his work related to his blog posts.

Tagged with:
Posted in Design Patterns

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

DZone

DZone MVB

Java Code Geeks
Java Code Geeks
%d bloggers like this: