📚 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리시킨다. 📚 상속보다는 구성을 활용한다. 📚 구현이 아닌 인터페이스에 맞춰서 프로그래밍한다. 📚 바뀌는 부분은 캡슐화한다