본문 바로가기

JAVA 기초

디자인 패턴 스트레티지 패턴

디자인 패턴이란?

-소프트웨어를 설계할때 특정 맥락에서 자주 발생하는 고질적인 문제들이 또 발생했을 때 재사용할 수 있는 훌륭한 해결책.

-"바퀴를 다시 발명하지마라( Don't reinvent the wheel)"

-이미 만들어져 잘되는것을 처음부터 다시 만들 필요가 없다는 의미이다.

 

패턴이란?

-다양한 소프트웨어 시스탬을 개발할때 야기되는 문제점들의 해결책 사이의 공통점들의 유사점을 패턴이라 부른다.

-패턴은 공통의 언어를 만들어주고 팀원사이의 의사소통을 원활하게 해준다.

 

장점

-코드 중복 방지

-런타임(Runtime)시에 타겟 메소드 변경

-확장성(신규 클래스)및 알고리즘 변경 용이

 

원칙

애플리케이션에서 달라지는 부분을 찾아내 달라지지 않는 부분으로 부터 분리시켜 캡슐화 시킨다.

 

스트레티지 패턴 (Strategy pattern)

알고리즘군을 정의하고 각각캡슐화하여 교환해서 사용할 수 있도록 만든다.

스트래티지패턴을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할수 있다.


1. 변화하는 부분 캡슐화

2. 인터페이스에 위임

3. 각 객체 구현

 

참고 : https://hyeonstorage.tistory.com/146

 

스트래티지 패턴 (strategy pattern) (소스코드 첨부)

스트래티지 패턴 (strategy pattern) 스트래티지 패턴(Strategy pattern)에서는 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 스트래티지를 활용하면 알고리즘을 사용하�

hyeonstorage.tistory.com

 

'JAVA 기초' 카테고리의 다른 글

react & SPA  (0) 2020.06.02
절차지향 언어와 객체 지향 언어의 차이는?  (0) 2020.05.13
명령어들 commands  (0) 2020.05.04
변수 variable  (0) 2020.05.04
매개변수 , parameter  (0) 2020.05.04