- Creational
- Prototype - A fully initialized instance to be copied or cloned. Ex - Chess board.
- Builder - Seperate object construction from its representation. Ex - Menu of any restaurant
- Singleton - A class of which only a single instance can exist. Ex - President of country, Database connection, Logging
- Factory method - Creates a factory of object types. Ex - Shape factory that generates different shapes.
- Structural
- Proxy - An object representing another object. Ex - Credit card, Debit card
- Decorator - Add responsibilities to the object dynamically. Ex - Adding discount on order, Adding toppings on pizza, Java IO.
- Facade - A single class that represent an entire subsystem. Ex - Event manager, Online booking order.
- Adapter - Match interfaces of different class. Ex - Power adapter.
- Flyweight - A fine grained instance used for efficient sharing. Ex - Public switched network, JDBC Connection pooling.
- Behavioural
- Chain of resposibility - A way of passing a request between chain of objects. Ex - Exception handling in Java.
- Iterator - Sequentially access elements of a collection. Ex - Iterator class, next and prev button on Tv remote.
- State - Alter an object behaviour when its state changes. Ex - Fan wall control
- Strategy - Encapsulate an algorithm inside a class. Ex - Sorting based on different algorithms.
- Observer - A way of notifying a change to number of classes. Ex - Newspaper
- Visitor - Define a new operation to a class without change. Ex - Operation of a taxi company.
- Template method - Defer an exact steps of an algorithm to a sub class. Ex - House plan.
- Command - Encapsulate a command request as a object. Ex - Runnable interface, Waiter take order and pass it to cook.
- Memento - Capture and restore object's internal state. Ex - Serialization, Undo/Redo.
- Mediator - Defines simplified communication between classes. Ex - Air traffic controller.
-
Notifications
You must be signed in to change notification settings - Fork 0
javamultiplex/java-design-pattern
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
This repository contains all the design patterns with example.
Topics
observer-pattern
command-pattern
strategy-pattern
builder-pattern
factory-pattern
abstract-factory-pattern
adapter-pattern
singleton-pattern
state-pattern
bridge-pattern
decorator-pattern
chain-of-responsibility
template-pattern
facade-pattern
composite-patterns
prototype-pattern
mediator-pattern
memento-pattern
proxy-pattern
flyweight-pattern
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published