|
| 1 | +# Implementations of Design Patterns |
| 2 | + |
| 3 | +* ### Examples of [Creational](./creational) Design Patterns with Java: |
| 4 | + |
| 5 | +| Design Pattern | Information | Documentation | Video | |
| 6 | +|:-----------------------------------------:|:-------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------:| |
| 7 | +| [Factory Method](./creational/factory) | [`refactoring.guru`](https://refactoring.guru/design-patterns/factory-method) | [`java-design-patterns`](https://java-design-patterns.com/patterns/factory-method/) | | |
| 8 | +| [Abstract Factory](./creational/notional) | [`refactoring.guru`](https://refactoring.guru/design-patterns/abstract-factory) | [`java-design-patterns`](https://java-design-patterns.com/patterns/abstract-factory/) | | |
| 9 | +| [Builder](./creational/builder) | [`refactoring.guru`](https://refactoring.guru/design-patterns/builder) | [`java-design-patterns`](https://java-design-patterns.com/patterns/builder/) | [`@ConceptAndCoding`](https://youtu.be/qOLRxN5eVC0?si=E67H3Rx33vvzY4d_) | |
| 10 | +| [Object Pool](./creational/pool) | N/A | [`java-design-patterns`](https://java-design-patterns.com/patterns/object-pool/) | [`@ConceptAndCoding`](https://youtu.be/obmc24IHqew?si=q7M84QnN_sbFrku0) | |
| 11 | +| [Prototype](./creational/prototype) | [`refactoring.guru`](https://refactoring.guru/design-patterns/prototype) | [`java-design-patterns`](https://java-design-patterns.com/patterns/prototype/) | | |
| 12 | +| [Singleton](./creational/singleton) | [`refactoring.guru`](https://refactoring.guru/design-patterns/singleton) | [`java-design-patterns`](https://java-design-patterns.com/patterns/singleton/) | | |
| 13 | + |
| 14 | +* ### Examples of [Structural](./structural) Design Patterns with Java: |
| 15 | + |
| 16 | +| Design Pattern | Information | Documentation | Video | |
| 17 | +|:-----------------------------------:|:------------------------------------------------------------------------:|:------------------------------------------------------------------------------:|:-----------------------------------------------------------------------:| |
| 18 | +| [Adapter](./structural/adapter) | [`refactoring.guru`](https://refactoring.guru/design-patterns/adapter) | [`java-design-patterns`](https://java-design-patterns.com/patterns/adapter/) | [`@ConceptAndCoding`](https://youtu.be/8wrg7IsILhQ?si=PF2kgCqwYN35dgao) | |
| 19 | +| [Bridge](./structural/bridge) | [`refactoring.guru`](https://refactoring.guru/design-patterns/bridge) | [`java-design-patterns`](https://java-design-patterns.com/patterns/bridge/) | [`@ConceptAndCoding`](https://youtu.be/SOw1_W0taBg?si=4TxZSukUZCUYiNWj) | |
| 20 | +| [Composite](./structural/composite) | [`refactoring.guru`](https://refactoring.guru/design-patterns/composite) | [`java-design-patterns`](https://java-design-patterns.com/patterns/composite/) | | |
| 21 | +| [Decorator](./structural/decorator) | [`refactoring.guru`](https://refactoring.guru/design-patterns/decorator) | [`java-design-patterns`](https://java-design-patterns.com/patterns/decorator/) | [`@ConceptAndCoding`](https://youtu.be/w6a9MXUwcfY?si=KW_bfuG6F35_blZZ) | |
| 22 | +| [Facade](./structural/facade) | [`refactoring.guru`](https://refactoring.guru/design-patterns/facade) | [`java-design-patterns`](https://java-design-patterns.com/patterns/facade/) | [`@ConceptAndCoding`](https://youtu.be/GYaBXK54eLo?si=aCmexb4t3izwlU9d) | |
| 23 | +| [Flyweight](./structural/flyweight) | [`refactoring.guru`](https://refactoring.guru/design-patterns/flyweight) | [`java-design-patterns`](https://java-design-patterns.com/patterns/flyweight/) | | |
| 24 | +| [Proxy](./structural/proxy) | [`refactoring.guru`](https://refactoring.guru/design-patterns/proxy) | [`java-design-patterns`](https://java-design-patterns.com/patterns/proxy/) | [`@ConceptAndCoding`](https://youtu.be/9MxHKlVc6ZM?si=tJME00X4UJ4XJJtc) | |
| 25 | + |
| 26 | +* ### Examples of [Behavioral](./behavioral) Design Patterns with Java: |
| 27 | + |
| 28 | +| Design Pattern | Information | Documentation | Video | |
| 29 | +|:---------------------------------------------:|:--------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------:| |
| 30 | +| [Chain of Responsibility](./behavioral/chain) | [`refactoring.guru`](https://refactoring.guru/design-patterns/chain-of-responsibility) | [`java-design-patterns`](https://java-design-patterns.com/patterns/chain-of-responsibility/) | [`@ConceptAndCoding`](https://youtu.be/gvIn5QBdGDk?si=30kOIX2x7Gx3MlqR) | |
| 31 | +| [Command](./behavioral/command) | [`refactoring.guru`](https://refactoring.guru/design-patterns/command) | [`java-design-patterns`](https://java-design-patterns.com/patterns/command/) | [`@ConceptAndCoding`](https://youtu.be/E1lce5CWhE0?si=X4HIR777Y9ddFjPS) | |
| 32 | +| Interpreter | N/A | [`java-design-patterns`](https://java-design-patterns.com/patterns/interpreter/) | [`@ConceptAndCoding`](https://youtu.be/fFlPm0pzQYI?si=4DuKSD2Qbt1NQFUE) | |
| 33 | +| [Iterator](./behavioral/iterator) | [`refactoring.guru`](https://refactoring.guru/design-patterns/iterator) | [`java-design-patterns`](https://java-design-patterns.com/patterns/iterator/) | [`@ConceptAndCoding`](https://youtu.be/X7shKHOaYtU?si=F7dk7AZjEOaHpLhv) | |
| 34 | +| [Mediator](./behavioral/mediator) | [`refactoring.guru`](https://refactoring.guru/design-patterns/mediator) | [`java-design-patterns`](https://java-design-patterns.com/patterns/mediator/) | | |
| 35 | +| [Memento](./behavioral/memento) | [`refactoring.guru`](https://refactoring.guru/design-patterns/memento) | [`java-design-patterns`](https://java-design-patterns.com/patterns/memento/) | [`@ConceptAndCoding`](https://youtu.be/nTo7e2lpGZ4?si=9wsYjiNs3iG-g0ti) | |
| 36 | +| Null Object | N/A | [`java-design-patterns`](https://java-design-patterns.com/patterns/null-object/) | [`@ConceptAndCoding`](https://youtu.be/iDPhxhamuTo?si=oBsfb-mqRKq764c8) | |
| 37 | +| [Observer](./behavioral/observer) | [`refactoring.guru`](https://refactoring.guru/design-patterns/observer) | [`java-design-patterns`](https://java-design-patterns.com/patterns/observer/) | [`@ConceptAndCoding`](https://youtu.be/Ep9_Zcgst3U?si=Vq--dx8gSRqY7mrH) | |
| 38 | +| [State](./behavioral/state) | [`refactoring.guru`](https://refactoring.guru/design-patterns/state) | [`java-design-patterns`](https://java-design-patterns.com/patterns/state/) | | |
| 39 | +| [Strategy](./behavioral/strategy) | [`refactoring.guru`](https://refactoring.guru/design-patterns/strategy) | [`java-design-patterns`](https://java-design-patterns.com/patterns/strategy/) | [`@ConceptAndCoding`](https://youtu.be/u8DttUrXtEw?si=LskxabetaZKy9gKA) | |
| 40 | +| [Template Method](./behavioral/template) | [`refactoring.guru`](https://refactoring.guru/design-patterns/template-method) | [`java-design-patterns`](https://java-design-patterns.com/patterns/template-method/) | [`@ConceptAndCoding`](https://youtu.be/kwy-G1DEm0M?si=yNZlZCuseVQaUCmT) | |
| 41 | +| [Visitor](./behavioral/visitor) | [`refactoring.guru`](https://refactoring.guru/design-patterns/visitor) | [`java-design-patterns`](https://java-design-patterns.com/patterns/visitor/) | [`@ConceptAndCoding`](https://youtu.be/pDsz-AuFO0g?si=11YASEg0NspKyykR) | |
0 commit comments