# Strategy Pattern

TypeScript-전략패턴(Strategy pattern)
객체가 할 수 있는 행위들을 전략(strategy)으로 만들어두고, 동적으로 행위의 수정이 필요한 경우 전략을 바꾸는 것만으로 수정이 가능하도록 만든 패턴이다.자판기 결제 방식을 현금 결제에서 카드 결제로 변경할 때, Pay 메소드 구현 변경이 필요하다.메소드 수정 방
[디자인 패턴] 전략 패턴 (Strategy Pattern)
1. 전략 패턴은 알고리즘군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 해준다. 2. 전략 패턴을 사용하면 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있다.

디자인 패턴 - 전략 패턴
전략 패턴(strategy pattern)은 정책 패턴(policy pattern)이라고도 하며, 객체의 행위를 바꾸고 싶은 경우, 행위 자체를 직접 수정하는 것이 아닌 전략이라고 부르는 '캡슐화한 알고리즘'을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 패

전략 패턴(Strategy Pattern) 어떻게 적용할 수 있을까?
여러번의 프로젝트를 진행해오면서 기능 구현을 위해 코드를 작성하는 일은 편안해졌지만 내가 작성한 코드에 대한 확신을 얻기는 아직 어려웠습니다.그렇기에 좋은 코드에 대한 생각과 좋은 코드는 무엇일지, 좋은 설계를 하는 방법이 있을지에 대한 많은 생각을 해오게 되었습니다.

[TS] Interface
let elice: Person = {name: "rabbit", age: 13};앞서 살펴보았던 타입을 정의하는 type alias에 대해 기억하시나요?type Human = { name: string; age: number;};type alias는 인터페이스와

전략 패턴 (Strategy Pattern)
전략 패턴은 객체들이 할 수 있는 행위 각각에 대해 전략 클래스를 생성하고, 유사한 행위들을 캡슐화하는 인터페이스를 정의하여, 객체의 행위를 동적으로 바꾸고 싶은 경우 행위를 직접 수정하지 않고 전략을 바꿔주는 유연한 확장 방법을 말합니다.

전략 패턴 (Strategy Pattern) for JavaScript
전략 패턴 (또는 정책 패턴)은 객체 지향 디자인 패턴 중 하나로 동일한 문제를 해결하기 위한 여러 알고리즘(전략)을 정의하고, 각각을 캡슐화하여 상호 교환 가능하도록 만드는 패턴입니다.이를 통해 런타임 시에 알고리즘을 선택하고 적용할 수 있게 됩니다.예를 들어 여러가

[Swift/디자인패턴] Strategy Pattern
상황(Context)에 따라 다른 알고리즘으로 코드를 실행시키고 싶은 경우가 있을 것이다. 복잡한 if-else 구문으로 조건을 나누지 말고 Strategy Pattern을 적용하여 단순하게 코드를 바꿔보자.
[디자인 패턴] 전략 패턴
알고리즘을 정의하고 캡슐화하여 동적으로 교체할 수 있게 만드는 것이 목적입니다.콘텍스트(context)런타임 단계에서 객체 내부에 사용되는 알고리즘을 교체할 수 있다.알고리즘들을 캡슐화할 수 있다.개방-폐쇄 원칙을 지킨다.함수형 프로그래밍을 통해 코드의 부피를 늘리지

스프링 3.1 - 전략 패턴과 템플릿
OCP 원칙은 확장에는 자유롭게 열려있고 변경에는 닫혀있다는 객체지향 설계 핵심 원칙이다.특정 코드에는 변경을 통해 기능을 확장하고 다양하게 만들려는 성질이 있고 특정 코드는 고정되어 변하지 않을려는 성질을 가진다. 또한 변경을 통해 기능을 다양하게 하려는

전략 패턴 (strategy pattern)
전략패턴이란?전략 메서드를 가진 전략 객체전략 객체를 사용하는 컨텍스트 ( 전략 객체의 사용자/소비자 )전략 객체를 생성해 컨텍스트에 주입하는 클라이언트 ( 제3자, 전략 객체의 공급자 )하나씩 코드로 직접 이해해보자클라이언트가 콘텍스트에게 전략을 조달한다= Clien
테스트하기 어려웠던 서비스 클래스
이전 글에서 예고한데로, 서비스클래스를 리팩토링하며 테스트코드, 디자인패턴에 관한 내 생각을 정리해보았다.왜 나는 테스트하기 어려운 코드를 리팩토링 대상으로 선택했을까? 프로젝트에서 테스트코드의 본질은 뭘까? 가장 쉽게 떠오르는 답변은 작성한 코드가 올바르게 수행하는지

IoC(Inversion of Control) 현실 예제로 이해하기
토비의 스프링 책을 학습하며 IoC(Inversion of Control)에 대한 개념이 완전히 이해가 안되는 것 같습니다. 예전에 잠시 읽었던 ‘스프링 입문을 위한 자바 객체 지향의 원리와 이해’ (김종민 저) 책을 다시 꺼내서 자동차와 바퀴 예시를 다시 읽어봅니다.

전략 패턴(Strategy Pattern)
특정한 목표를 수행하기 위한 행동 계획을 뜻한다. 디자인 패턴 중에 하나로 객체가 할 수 있는 행위들 각각을 전략으로 만들어 놓고 사용하며, 동적으로 전략 수정이 가능한 패턴을 말한다. 디자인 패턴: (소프트웨어)디자인 + (공통적으로 마주치는 문제를 해결하는 방법의)

[1장] Strategy Pattern
OO 기초추상화: 불필요한 정보를 생략하고 중요한 것에 중점을 두어 모델링하는 것캡슐화: 외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 정보를 은닉하는것다형성: 하나의 메시지에 대해 각각의 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력상속: 상위클
[디자인패턴]STRATEGY PATTERN
1. 정의 >알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만들다. 스트레티지를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 2. 적용 오리 시뮬레이션 2.1 바뀌는 부분과 바뀌지 않는 부분 구분하기 duck