본문 바로가기
JAVA

자바 디자인 패턴

by 민휘 2024. 1. 18.

토비의 스프링을 읽으면서 스프링에 다양한 디자인 패턴이 적용된 것을 보고 공부를 시작했다. 토비 선생님이 주신 디자인 패턴 학습 방법에 대한 교훈을 최대한 지키려고 했다.

패턴에서 가장 중요한 것은 각 패턴의 핵심이 담긴 목적 또는 의도다. 패턴을 적용할 상황, 해결해야 할 문제, 솔루션의 구조와 각 요소의 역할과 함께 핵심 의도가 무엇인지를 기억해둬야 한다.

 

새로운 패턴을 접할 때마다 이 패턴이 해결하려고 하는 문제 상황은 무엇이며, 패턴을 적용했을 때 어떤 효과를 볼 수 있는지에 집중했다. 구현은 이 목적을 달성할 수만 있다면 개발자의 책임이라고 하길래, 구현에 너무 얽매여있지 않으려고 했다. 그래도 코드는 다 따라쳤다. 손에 익어야 나중에 필요할 때 사용할 수 있을 것 같고, 이해도 더 잘 된다. 구현을 살펴보면서 객체지향적인 접근과 자바 문법에 익숙해질 수 있어 좋았다.

 

연초에 헤드퍼스트 디자인 패턴을 보며 공부했고, 여름방학 때 백기선 님의 디자인 패턴을 다시 들었다. 헤드퍼스트 시리즈 답게 쉽고 짜임새 있는 설명 덕분에 거부감 없이 학습할 수 있었다. 마지막 장에서 복합 패턴인 MVC를 다루었는데, 옵저버, 컴포지트, 전략 패턴이 인터페이스 뒤로 잘 캡슐화된 것이 인상적이었다. 백기선 님의 강의는 생성, 구조, 행동으로 나누어 패턴을 학습했는데, 책임과 관련된 행동 패턴들이 흥미로웠다. 패턴을 통해서 객체지향 원리가 어떻게 코드로 구현되는지 더 잘 이해할 수 있었다.

 

 

 

 

 

헤드 퍼스트 디자인 패턴 | Notion

헤드 퍼스트 디자인 패턴

uncovered-chocolate-cea.notion.site

 

 

Java Design Pattern | Notion

코딩으로 학습하는 GoF의 디자인 패턴

uncovered-chocolate-cea.notion.site