STRATEGY 2

전략패턴 (Strategy Pattern) 특정한 계열 또는 행위를 Interface로 캡슐화하고 구체적으로 구현된 알고리즘을 상호 교체가 가능하도록 만드는 패턴입니다. 전략패턴을 사용하면 기능이 추가 또는 변경 되더라도 기존 클래스의 수정이 아닌 Interface의 구현을 통해 확장하여 해결 할 수 있어 OCP 원칙을 지킬 수 있습니다. Context는 전략을 실제로 사용하는 사용자의 입장입니다. 이때 A라는 상황에는 ConcreateStrategy1, B라는 상황에는 ConcreateStrategy2를 사용하도록 구성할 수 있습니다. public class AppMain { /* * 예제의 설정 * Android와 Ios Mobile 개발자가 있는데 각각 프로젝트에서 2가지 언어를 사용한다는 가정입니다. * 인스턴스가 개발자의 숫자를 의미하도.. Computer Science/Design Pattern 2023. 1. 29.
[Design Pattern] Strategy Pattern 전략패턴은 행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 패턴입니다. 기존의 코드 변경 없이 행위를 자유롭게 바꿀 수 있게 해주는 OCP를 준수한 디자인 패턴 방법을 말합니다. 전략패턴은 컴포지션 관계(has-a)를 가집니다. 컴포지션은 해당 인스턴스의 내부 구현이 바뀌더라도 영향을 받지 않습니다. 또 인터페이스를 활용하여 다른 인스턴스를 쉽게 변경할 수 있습니다. Context 스트래티지 패턴을 이용하는 역할을 수행합니다. 필요에 따라 동적으로 구체적인 전략을 바꿀 수 있도록 생성자 또는 Setter를 제공합니다. public class Context { private Strategy strategy; public void setTranslateStrategy(Strategy .. Computer Science/Design Pattern 2021. 8. 3.