나의 영원한 개발 아버지 한솔좌의 피드백을 통해서 이제는 한단계 더 도약을 해야될 때라는 것을 느꼈다! 가장 기억에 나는 것은 “로직”을 짜는 연습을 해야된다! 였고 그러기 위해선 좀 더 깊게 공부를 해야될때라고 느꼈다. 그리고 그 시작을 **디자인패턴에 대한 이해와 적용
**으로 잡았다. 그래서 오늘부터 하루에 한개씩 부실려고 한다.
<aside> 💡 객체지향 설계를 처음하는 개발자와 객체지향 설계에 익숙한 사람의 차이점은 무엇인가?
</aside>
객체지향 설계를 처음하는 개발자는 모든 문제를 기초 단계에서 해결하려고 하고
객체지향 설계에 익숙한 개발자는 문제가 생기더라도 예전에 사용했던 해결법을 다시 사용하려고 응용한다!
⇒ 이렇게 프로젝트에서 반복적으로 발생하는 다양한 문제의 해결법을 구조화시킨 것이 디자인 패턴!
제 개인적인 해석으로는 디자인 패턴은!
객체지향 설계 즉. SOLID에 맞춰서 결합도를 낮추고 응집도를 높이는 개발을 고민하는 과정 속 발생되는 반복적인 문제들의 해결법을 간단히 정리한것!
전 여기서 가장 핵심을 관점과 정의로 생각했는데요! 개발을 하면서 제가 계속 하려고 노력하는 것이 아는만큼 보인다 와 보인것을 말로 잘 설명할 수 있어야 한다! 였기에 저는 디자인패턴 공부를 선택하게 되었답니다!
총 23가지 패턴이 존재하고 각각의 기준에 따라 분류할 수 있습니다
패턴은 생성, 구조, 행동 중 한가지 목적을 갖습니다
생성
: 객체의 생성 과정에 참여하는 것.
→ 객체의 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공
구조
: 클래스나 객체의 합성에 관한 것.
→ 서로 다른 인터페이스를 지닌 2개의 객체를 묶어 단일 인터페이스 제공 or 객체들을 서로 묶어 새로운 기능을 제공
행동
: 클래스나 객체들이 상호작용 하는 방법과 책임을 분산하는 방법에 관한 것.
→ 한 객체가 혼자 수행할 수 없는 작업을 여러 개의 객체로 어떻게 분배하는지, 또 그렇게 하면서도 객체 사이의 결합도를 최소화하는 것에 중점!