This repository contains the programs, which are related to Design Patterns that includes Core, J2EE and other related patterns.
All the examples, used in this repository to be written in Java
.
Before knowing to know the design patterns, let's ask 1 more question?
-
What do you mean by a pattern?
- A pattern is a repeated design or recurring sequence.
OR
- An ordered set of numbers, shapes or other mathematical objects, arranged according to a rule.
Know let's come back to our actual question.
As per wikipedia System Design Patterns
In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem
within a given context in software design.
Design patterns are the solutions for recurring problems in some given context, which are tried and tested.
Design patterns gained popularity in computer science after the book Design Patterns: Elements of Reusable Object-Oriented Software
was published in 1994 by the so-called Gang of Four
, which is frequently abbreviated as GoF
.
Design patterns had originally been categorized into 3 sub-classifications based on the kind of problem they solve.
-
Creational
These patterns provide the capability to create objects based on a required criteria and in a controlled way.
-
Structural
These patterns are about organizing different classes and objects to form larger structures and provide new functionality.
-
Behavioral
These patterns are about identifying common communication patterns between objects and realize these patterns.