Skip to content

osandadeshan/java-design-patterns-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Design Patterns

Design patterns are well-proved solution for solving the specific problem/task.

Advantages of a Design Pattern

  • They are reusable in multiple projects.
  • They provide the solutions that help to define the system architecture.
  • They capture the software engineering experiences.
  • They provide transparency to the design of an application.
  • They are well-proved and testified solutions since they have been built upon the knowledge and experience of expert software developers.
  • Design patterns don't guarantee an absolute solution to a problem. They provide clarity to the system architecture and the possibility of building a better system.

When should we use the Design Patterns?

We must use the design patterns during the analysis and requirement phase of SDLC (Software Development Life Cycle).

Design patterns ease the analysis and requirement phase of SDLC by providing information based on prior hands-on experiences.

Categorization of Design Patterns

Basically, design patterns are categorized into two parts:

  1. Core Java (or JSE) Design Patterns.
  2. JEE Design Patterns.

Core Java Design Patterns

In core java, there are mainly three types of design patterns, which are further divided into their sub-parts:

1. Creational Design Pattern

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

2. Structural Design Pattern

  1. Adapter Pattern
  2. Bridge Pattern
  3. Composite Pattern
  4. Decorator Pattern
  5. Facade Pattern
  6. Flyweight Pattern
  7. Proxy Pattern

3. Behavioral Design Pattern

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

About

A repository that contains design patterns in Java.

Topics

Resources

Stars

Watchers

Forks

Languages