A design pattern represents the re-usable form of a solution. The idea behind design patterns was first introduced by the architect Christopher Alexander. It is an idea or best practice to solve the common object-oriented design problems and not an implementation.
Advantages of Design patterns:
- As design patterns are independent of language so can be applied to any language that supports OOPs.
- Design patterns are highly flexible to support any type of application.
- Design patterns are already widely used and testified by expert software developers so reduce the technical risk.
- As, a design pattern represents the re-usable form of a solution so it can be used in multiple projects.
- Design patterns are very useful in defining the software architecture.
Java design patterns
- Java design patterns
- Java creational design patterns
- Java singleton design pattern
- Java factory design pattern
- Java abstract factory design pattern
- Java builder design pattern
- Java prototype design pattern
- Java structural design patterns
- Java adapter design pattern
- Java composite design pattern
- Java proxy design pattern
- Java flyweight design pattern
- Java facade design pattern
- Java bridge design pattern
- Java decorator design pattern
- Java behavioral design patterns
- Java template method design pattern
- Java mediator design pattern
- Java chain of responsibility design pattern
- Java observer design pattern
- Java strategy design pattern
- Java command design pattern
- Java state design pattern
- Java interpreter design pattern
- Java iterator design pattern