[Design Pattern] Strategy Pattern


1. Strategy Pattern


전략(Strategy) 이란?


 어떤 특정한 목적을 달성하기 위해 일을 수행하는 방식을 말합니다. 예를 들어, 비즈니스나 로직 혹은 문제를 해결하기 위한 알고리즘이 해당됩니다.

 패턴을 배우기 전에 하나의 프로그램을 만들 때, 객체지향의 원리로 프로그래밍을 한다고 하더라도, 그것이 유연하다고 볼 수 없을 수 있습니다.


행위 = 메서드

행위가 계속 바뀔 때, 행위가 늘어날 가능성이 있을 때

이걸 상속으로 구현하자 하니 아래의 내부 구현 부분도 건드려야 할 부분이 많아서

OCP의 원칙이 어긋난다.

그래서 상속보다는 구성을 통해서(레퍼런스 변수) 행위를 객체화해서 행위를 사용하는 객체

변수니까 값을 바꿀 수 있다. 행위 클래스를 따로 만듦으로써~?


ex. 메서드|행위|function의 변수화

--------


구조 : 컴포넌트, 옵저버 패턴

생성 : 추상 팩토리, 빌더

알고리즘 : 스트래티지, 스테이트, 템플릿 메서드


aggregation vs. composition 는 생명 주기다.




본 게시물은 수정 보완을 계속할 예정입니다.

댓글(4)

Designed by JB FACTORY