An open API service indexing awesome lists of open source software.

https://github.com/gmoon92/gof-design-pattern

GoF Design Pattern
https://github.com/gmoon92/gof-design-pattern

design-patterns gof-patterns

Last synced: 22 days ago
JSON representation

GoF Design Pattern

Awesome Lists containing this project

README

          

# GoF Design Pattern

1995년 GoF(Gang of Four)라고 불리는 Erich Gamma, Richard Helm, Ralph Johnson, John Vissides 가 처음으로 디자인 패턴을 구체화하였다.

GoF의 디자인 패턴은 소프트웨어 공학에서 가장 많이 사용되는 디자인 패턴으로, 목적에 따라 **`생성(Creational) 패턴`** 5개, **`구조(Structural) 패턴`** 7개, **`행위(Behavioral) 패턴`** 11개, 총 23개의 패턴으로 구성된다.

| type | Creational | Structural | Behavioral |
|----------|---|---|---|
| Patterns | - [Singleton (싱글톤)](./01.Creational%20Patterns/01.Singleton.md)
- [Factory method (팩토리 메소드)](./01.Creational%20Patterns/02.Factory%20method.md)
- [Abstract factory (추상 팩토리)](./01.Creational%20Patterns/03.Abstract%20factory.md)
- [Builder (빌더)](./01.Creational%20Patterns/04.Builder.md)
- [Prototype (프로토 타입)](./01.Creational%20Patterns/05.Prototype.md) |- [Adapter (어뎁터)](./02.Structural%20Patterns/06.Adapter.md)
- [Bridge (브릿지)](./02.Structural%20Patterns/07.Bridge.md)
- [Composite (컴포짓)](./02.Structural%20Patterns/08.Composite.md)
- [Decorator (데코레이터)](./02.Structural%20Patterns/09.Decorator.md)
- [Facade (퍼사드)](./02.Structural%20Patterns/10.Facade.md)
- [Flyweight (플라이웨이트)](./02.Structural%20Patterns/11.Flyweight.md)
- [Proxy (프록시)](./02.Structural%20Patterns/12.Proxy.md)|- [Chain of responsibility (책임 연쇄)](./03.Behavioral%20Patterns/13.Chain%20of%20responsibility.md)
- [Command (커맨드)](./03.Behavioral%20Patterns/14.Command.md)
- [Interpreter (인터프리터)](./03.Behavioral%20Patterns/15.Interpreter.md)
- [Iterator (이터레이터)](./03.Behavioral%20Patterns/16.Iterator.md)
- [Mediator (중재자)](./03.Behavioral%20Patterns/17.Mediator.md)
- [Memento (메멘토)](./03.Behavioral%20Patterns/18.Memento.md)
- [Observer (옵저버)](./03.Behavioral%20Patterns/19.Observer.md)
- [State (상태)](./03.Behavioral%20Patterns/20.State.md)
- [Strategy (전략)](./03.Behavioral%20Patterns/21.Strategy.md)
- [Template method (템플릿 메소드)](./03.Behavioral%20Patterns/22.Template%20method.md)
- [Visitor (비지터)](./03.Behavioral%20Patterns/23.Visitor.md)|

## Reference

- [refactoring.guru](https://refactoring.guru/design-patterns)
- [sourcemaking.com](https://sourcemaking.com/design_patterns)