이미 개발되어 있는 컴포넌트에 추가적인 디자인, 기능이 필요한 경우
컴포넌트와 기능은 완전히 분리할 것
컴포넌트에 기능이 포함되어 있을 경우 문제점
- Selectbox가 있다.
- Selectbox는 키보드로 선택된 list를 컨트롤 할 수 있어야 하며, Selectbox 컴포넌트 내에 해당 기능이 존재한다.
- Selectbox를 사용하는 50개의 페이지가 있다고 하자.
- 50개의 페이지 중 어떤 한 페이지에서 해당 기능이 작동하지 않는다.
- 그 페이지의 버그를 고치기위해 Selectbox의 버그를 수정한다.
- 버그가 발생된 페이지는 정상적으로 돌아가지만 극단적일 경우 나머지 49개의 페이지에서 모두 버그가 발생한다.