Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[박승훈] 챕터 6: 디자인 패턴의 유형 #24

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions 챕터_6/박승훈.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## 들어가며

> 디자인 패턴은 어떤 문제를 해결하는지에 따라 크게 3가지 유형으로 나눌 수 있다.

| 분류 | 생성 패턴 | 구조 패턴 | 행위 패턴 |
|:--:|---|---|---|
| **목적** | 주어진 상황에 적합한 객체 생성 방법 | 객체의 구성과 각 객체 간의 관계 인식 방법 | 객체 간 커뮤니케이션을 개선하거나 간소화하는 방법 |
| **특징** | 객체 생성은 복잡성을 증가시킬 수 있어 이를 제어하여 문제를 해결하고자 함 | 시스템의 한 부분이 변경되어도 다른 부분에 영향을 주지 않도록 도움 | 커뮤니케이션의 유연성을 높이고, 객체의 행위를 추상화 |
| **예시** | 생성자, 팩토리, 추상, 프로토타입, 싱글톤, 빌더 | 데코레이터, 퍼사드, 플라이웨이트, 어댑터, 프록시 | 이터레이터, 중재자, 관찰자, 방문자 |

<br />

> 나의 경험

정보처리기사 자격증 공부할 때 단골 문제로 나와서 외웠던 기억이 나요. 그런데 당시에는 이 3개 분류에 어떤 디자인 패턴들이 있는지가 중요했고, 어떤 디자인 패턴이 어떤 기능을 하고 어떤 구조로 이루어져 있는지까지는 중요하지 않았어요. 자격증은 어찌저찌 통과했지만, 남는 게 없는 기분이었어요. 개발 공부를 시작하면서 디자인 패턴이라는 용어가 종종 등장했고, 유튜브에 쳐보며 [코드로 디자인 패턴들을 구성한 영상](https://www.youtube.com/watch?v=lJES5TQTTWE&ab_channel=%EC%96%84%ED%8C%8D%ED%95%9C%EC%BD%94%EB%94%A9%EC%82%AC%EC%A0%84)을 알게 되었어요. 이름으로만 알고 있던 디자인 패턴들의 구조와 구현을 알 수 있었던 경험이었어요.
Loading