✏️ 실전 디자인 패턴
- 패턴: 특정 컨텍스트 내에서 주어진 문제의 해결책
- 컨텍스트: 패턴이 적용되는 상황. 반복적으로 일어날 수 있는 상황이어야만 한다.
- 문제: 컨텍스트 내에서 이뤄야 하는 목표. 컨텍스트 내의 제약조건도 포함
- 해결책: 우리가 찾아내야 하는 것. 제약조건 속에서 누가 적용해도 목표를 이룰 수 있는 일반적인 디자인
디자인을 할 때 무엇보다도 중요한 원칙은
Keep it Simple
: 최대한 단순한 방법으로 문제를 해결하기다.
- 리팩토링: 코드를 변경해서 코드 구조를 개선하는 과정
- 리팩토링의 목적은 행동 변경이 아니라
구조 개선
에 있다. 패턴을 사용하면 구조가 개선도리 수 있을지 검토해 볼 수 있는 좋은 기회다.
- 리팩토링의 목적은 행동 변경이 아니라
- 지금 디자인에서 디자인 패턴을 제거하는 일을 두려워말라. 패턴보다 간단한 해결책이 더 나을 것 같다 싶을 때 패턴을 제거하면 된다.
reference
HeadFirst Design Pattern