디자인 패턴의 실전 학습과 구현 사례를 다루는 저장소입니다.
객체의 생성 과정과 연관된 패턴
| Name | README | LEVEL | Popularity | Language |
|---|---|---|---|---|
| 01. Abstract Factory | ✅ | ⭐️⭐️ | 🔥 | JAVA |
| 02. Builder | ✅ | ⭐️ | Swift, JAVA | |
| 03. Factory Method | ✅ | ⭐️⭐️ | 🔥 | Swift |
| 04. Prototype | ✅ | ⭐️ | Swift, JAVA | |
| 05. Singleton | ✅ | ⭐️⭐️(⭐️) | 🔥 | Swift, JAVA |
클래스나 객체의 합성/집약에 관련된 패턴
| Name | README | LEVEL | Popularity | Language |
|---|---|---|---|---|
| 06. Adapter | ✅ | ⭐️ | Swift | |
| 07. Bridge | ✅ | ⭐️ | Swift | |
| 08. Composite | ✅ | ⭐️⭐️ | Swift | |
| 09. Decorator | ✅ | ⭐️⭐️ | 🔥 | JAVA |
| 10. Façade | ✅ | ⭐️ | 🔥 | Swift |
| 11. Flyweight | ✅ | ⭐️⭐️⭐️ | ||
| 12. Proxy | ✅ | ⭐️⭐️ | JAVA |
클래스나 객체들이 상호작용하는 방법과 책임을 분산시키는 방법을 정의하는 패턴
| Name | README | LEVEL | Popularity | Language |
|---|---|---|---|---|
| 13. Chain of Responsibility | ✅ | ⭐️⭐️ | Swift | |
| 14. Command | ✅ | ⭐️⭐️ | 🔥 | JAVA |
| ❌ | ⭐️⭐️⭐️ | |||
| 16. Iterator | ✅ | ⭐️⭐️ | 🔥 | JAVA |
| 17. Mediator | ✅ | ⭐️ | ||
| 18. Memento | ✅ | ⭐️⭐️ | ||
| 19. Observer | ✅ | ⭐️⭐️ | 🔥 | JAVA |
| 20. State | ✅ | ⭐️⭐️⭐️ | JAVA | |
| 21. Strategy | ✅ | ⭐️ | 🔥 | Swift |
| 22. Template Method | ✅ | ⭐️ | JAVA | |
| 23. Visitor | ✅ | ⭐️⭐️ |