전략 패턴

전략 패턴 여러 알고리즘을 캡슐화하고 상호 교환 가능하게 만드는 패턴. 알고리즘을 사용하는 클라이언트와 상관 없이 독립적으로 알고리즘을 다양하게 변경할 수 있다. 구조 Strategy - 제공하는 모든 알고리즘에 대한 공통 연산들을 인터페이스로 정의한다. Context 클래스는 ConcreteStrategy 클래스에서 정의한 인터페이스를 통해 실제 알고리즘을 사용한다. ConcreteStrategy - Strategy의 인터페이스를 실제 알고리즘으로 구현한다. Context - ConcreteStrategy 객체를 통해 구성된다. Strategy 객체에 대한 참조를 관리하고, 실제로는 Strategy 서브클래스(ConcreteStrategy)의 인스턴스를 갖고 있음으로써 구체화한다. 또한 St..
전략 패턴 알고리즘의 실행 방법을 변경할 수 있게 해주는 패턴. 동일 계열의 알고리즘을 정의하고, 각 알고리즘을 캡슐화하며, 이들을 상호교환이 가능하도록 만든다. 구조 Strategy - 제공하는 모든 알고리즘에 대한 공통된 연산들을 인터페이스로 정의한다. ConcreteStrategy - Strategy 인터페이스를 실제 알고리즘으로 구현한다. Context - Strategy 객체를 사용하는 클래스. 필요에 따라 Strategy 서브 클래스에 접근하는 방법을 정의한다. 기본 인터페이스 // 전략 인터페이스 정의 public interface IStrategy { void Execute(); } // 구체적인 전략을 구현하는 클래스들 public class ConcreteStrategyA : IStra..
NewtronVania
'전략 패턴' 태그의 글 목록