전략 패턴

전략 패턴

애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분과 분리한다. - 디자인 원칙

  • 달라지는 부분을 찾아서 나머지 코드에 영향을 주지 않도록 '캡슐화'한다.

  • 코드를 변경하는 과정에서 의도치 않게 발생하는 일을 줄이면서 시스템의 유연성을 향상시킬 수 있다.

  • 요구사항이 있을 때마다 바뀌는 부분이 있다면 분리해야 한다.

  • 바뀌는 부분은 뽑아서 캡슐화, 나중에 바뀌지 않는 부분에는 영향을 미치지 않고 해당 부분만 고치거나 확장할 수 있다.

  • 자주 바뀌는 부분과 바뀌지 않을 부분을 분리하기!

    • 자주 바뀌는 부분과 바뀌지 않는 부분을 처음 설계 단계부터 판단할 수 있는가?

  • 구현보다는 인터페이스에 맞춰서 프로그래밍 한다

    • === 상위 형식에 맞춰서 프로그래밍한다.

  • 바뀌는 부분을 별도의 행동 클래스로 만들어 위임한다

런타임 중 동적으로 행동을 바꾸고 싶다면 행동에 해당하는 세터 메서드를 호출하자.

Last updated