Loading
2022. 5. 27. 00:24 - lazykuna

Design patterns at a glance

코드 디자인 패턴을 보기 쉽도록 깔끔하게 정리해 놓은 이미지가 있어 가져옵니다. 페이지 여러번 넘길 것 없이 한번에 슥 볼수 있어서 보기 편하네요.

언제나 그렇듯, 디자인 패턴을 사용하는 이유는 encapsulation(캡슐화) 입니다. 중요 정보를 은닉하여 기능을 잘못 사용하는 문제를 막고 readability를 끌어 올리고자 하는 점이 클 것입니다. 따라서, 디자인 패턴을 많이 아는 것도 중요하지만 이를 적재적소에 활용할 수 있는 능력도 중요합니다.

그리고 디자인패턴을 처음 접하는 사람이 이 그림만 보고서 파악하는 것은 추천하지 않습니다. 최소 구현 예시를 보고 직접 따라 해보는 정도는 해 보아야 합니다. 그래야 쓸 수가 있겠죠.

참고로, 면접에서 심심하면 나오는 건 구성, 상속, Singleton 정도이니 (면접용이라면) 이 부분만 확실하게 숙지해 놓으면 될 듯 합니다. 특히 static 로컬 변수의 동시 접근시의 behavior라던가, thread-safe하게 접근하기 위한 방법 (Double-check locking 및 이에 대한 downside)이라던가 등.

출처

https://twitter.com/javarevisited/status/1529431496926167041