Design patterns in java

Design patterns in java are best practices which are used to resolve some known issues.  Design patterns can be divided into 4 different types. Here we have listed down some of the widely used design patterns in Java.

Singleton Design Pattern

You must have heard about the Singleton Design Pattern. One of the most common question in Interviews. So here in this article, we will discuss Singleton pattern and try to resolve all queries you might have for Singleton pattern…….

Factory Design Pattern

In this article, I will write about the Factory Design Pattern why it is good and how to use it when writing a Java application.

Decorator Design Pattern

In this article, I write about the Decorator Design Pattern. This is a very nice pattern if you want to extend class behavior at runtime.

Composite Design Pattern

In this article, I’ll introduce the Composite Design Pattern. This pattern is used to represent part-whole hierarchies.

Adapter Design Pattern

n this article I’ll introduce the Adapter Design Pattern and how you can use it in Java. This pattern is mostly used to enable loosely-coupling of plugins into applications (for example the way Eclipse does this).

Prototype Design Pattern

This pattern is a creational pattern (just as the already introduced Factory Pattern) and it comes to play where performance matters. This pattern is used when creating a new object is costly: you use a prototype and extend it with the particular implementations of the needed object.

Facade Design Pattern

A facade is for hiding features from external clients and to give them a unified access point to public functionality.

Proxy Design Pattern

In this article, I’ll write about the Proxy Design Pattern. This pattern is used to control access to resources and objects. The real value of this pattern is to reduce memory costs for objects until you really need them.

Iterator Design Pattern

n this article I’ll write about the Iterator Design Pattern. This pattern is used to iterate over an aggregate object without exposing the underlying implementation of this object.