개방-폐쇄 원칙


컴파일타임 의존성을 고정시키고 런타임 의존성을 변경하라

추상화가 핵심이다

생성 사용 분리


의존성을 연결하는 작업(객체 생성 및 연결)과 실행 작업은 나눠져있어야한다. → 그래야 OCP를 지킬 수 있게 됨

FACTORY 추가하기

순수한 가공물에게 책임 할당하기