코드 디자인 패턴을 보기 쉽도록 깔끔하게 정리해 놓은 이미지가 있어 가져옵니다. 페이지 여러번 넘길 것 없이 한번에 슥 볼수 있어서 보기 편하네요.
언제나 그렇듯, 디자인 패턴을 사용하는 이유는 encapsulation(캡슐화) 입니다. 중요 정보를 은닉하여 기능을 잘못 사용하는 문제를 막고 readability를 끌어 올리고자 하는 점이 클 것입니다. 따라서, 디자인 패턴을 많이 아는 것도 중요하지만 이를 적재적소에 활용할 수 있는 능력도 중요합니다.
그리고 디자인패턴을 처음 접하는 사람이 이 그림만 보고서 파악하는 것은 추천하지 않습니다. 최소 구현 예시를 보고 직접 따라 해보는 정도는 해 보아야 합니다. 그래야 쓸 수가 있겠죠.
참고로, 면접에서 심심하면 나오는 건 구성, 상속, Singleton 정도이니 (면접용이라면) 이 부분만 확실하게 숙지해 놓으면 될 듯 합니다. 특히 static 로컬 변수의 동시 접근시의 behavior라던가, thread-safe하게 접근하기 위한 방법 (Double-check locking 및 이에 대한 downside)이라던가 등.
출처
https://twitter.com/javarevisited/status/1529431496926167041
'개발 > Engineering' 카테고리의 다른 글
MSA에서의 디자인 패턴 (0) | 2022.05.28 |
---|---|
분산 시스템에서 메시지를 중복으로 받을 수밖에 없는 이유 (0) | 2022.05.28 |
kubernetes troubleshooting flowchart (0) | 2022.05.26 |
Unique ID Generator의 설계 (0) | 2022.05.06 |
컨테이너 기반 가상화 기술, 그리고 AWS Lambda (0) | 2022.05.06 |