[Book]Design Pattern 1장
Q. 변화를 유발할 수 있는 것은 수없이 많습니다. 여러분이 애플리케이션을 만드는 과정에서 코드를 바꿔야 했던 이유를 적어보세요.
A1. 처음엔 간단한 기능이 확장되면서 추가로 다른 기능도 같이 수행해야 할 때
A2. 기존에는 동작하던 기능이 다른 기능이 추가 되면서 버그가 발생할 때
A3. 새로운 데이터베이스를 붙이게 되거나, 다른 회사의 서비스를 붙이게 될 때
디자인 원칙
- 애플리케이션에서 달라지는 부분을 찾아 내고, 달라지지 않는 부분으로부터 분리시킨다.
- 구현이 아닌 인터페이스에 맞춰서 프로그래밍한다.
- 상속보다는 구성을 사용한다.
스트래티지(strategy) 패턴
- 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 스트래티지을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경 할 수 있다.
댓글남기기