처음 회사에 취직하고 두근거리는 마음으로 회사에들어갔을 때 들었던 말은
"무슨 디자인패턴을 할줄 아냐?", "디자인 패턴을 왜 써야 하냐?" 였다.
아무것도 몰랐을 당시에는 어버버 하며 제대로 제대로 된 대답을 하지 못했지만 지금은 확실하게 수 있다.
"내가 문제에 대해 이미 저보다 똑똑한 혹은 더 많은 시간을 고민한 사람들이 문제를 해결해 놓았기 때문입니다."라고
정리하자면
디자인 패턴이란 결국 특정 상황에서 발생하는 문제 패턴을 발견하고 해결방안을기록으로기록으로 할 수 있다.
그렇다면 디자인 패턴을 사용하면 어떤 장점이 있을까?
패턴으로 소통하면 일상어로 설명할 때보다 훨씬 효율적인 소통을 할 수 있다.
매달 오리한테 새로운 기능을 추가하고 오리가 그 능력을 수행하게 하는 코딩을
디자인 패턴을 모른다. 살아있는 오리, 장난감오리 등등 많은 경우의 수를 논의하며 시간을 소모해야 하지만
새로운 기능을 추가하기 적합한 디자인패턴을 알고 있다면 이 패턴으로 오리한테 기능을 추가해보자! 라고 서로 의사소통중 오해를 하지않고 빠르고 간편하게 의사소통 할수 있다.
정리하자면 디자인 패턴을 사용함으로써
1. 문제를 최적의 구조로 바로 코딩을 진행할 수 있고
2. 의사소통에서 오해가 발생할 여지를 줄여주고
3. 빠르고 간편하게 의사소통을 할 수 있다.
라고 정리 할 수 있다.
그렇다면 디자인 패턴은 언제 써야할까?
지금 이 문제를 수행 혹은 해결하기에 이 디자인 패턴으 적합하다고 생각한다면 패턴을 도입해야하고
시스템의 새로운 기능을 도입할때도 적합한 형태의 패턴을 적용 할수 있다.(리팩토링시에도 디자인 패턴을 수 있다.)
'Design-Pattern' 카테고리의 다른 글
지금 부터 내가 명령한다! 커맨드 패턴(command pattern) (0) | 2023.02.05 |
---|---|
세상에 단 하나뿐인 객체! 싱글턴 패턴(singleton pattern ) (0) | 2023.02.04 |
빵처럼 객체를 구워내자! 팩토리 패턴(factory pattern) (0) | 2023.02.04 |
개체를 아름답게 꾸미자! 데코레이터 패턴(decorator pattern) (2) | 2023.02.04 |
빨리 객체에게 연락해! 옵서버 패턴(observer pattern) (0) | 2023.02.03 |