728x90
반응형
source 는 Github 에 있습니다.
목차는 Java series 에 있습니다.
[Java 14편] 자바 스트레지트 패턴
예전에 공부해둔 내용을 remind 할려고 다시 작성했습니다.
자바 스트레지트 패턴
- 알고리즘 전략을 유연하게 변경할 수 있는 패턴입니다.
- 아래 소스를 간략히 설명하면 Player 의 play 행동을 전략에 맞게 선택할 수 있습니다.
- main 에서 player 는 play 를 할 때, BaseBall 을 할지, soccer 를 할지 전략적으로 선택할 수 있습니다.
- 변경에 유연화된 구조입니다.
Source
-
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
package pattern.strategy; public class StrategyPatternTest { public static void main(String[] args) { Player player = new Player(new BaseballPlay()); player.play(); } } package pattern.strategy; public interface Strategy { public void play(); } package pattern.strategy; public class SoccerPlay implements Strategy { @Override public void play() { System.out.println("SoccerPlay..."); } } package pattern.strategy; public class Player { private Strategy strategy; public Player(Strategy strategy) { this.strategy = strategy; } public void play() { strategy.play(); } } package pattern.strategy; public class BaseballPlay implements Strategy { @Override public void play() { System.out.println("Baseball play..."); } }
'Java > series' 카테고리의 다른 글
[Java 15편] 자바 컴퍼지트 패턴 (0) | 2023.02.11 |
---|---|
[Java 13편] 정적 팩토리 메서드로 객체 생성 (0) | 2023.02.11 |
[Java 12편] Map Sort 정리 (0) | 2023.02.11 |
[Java 11편] Extend enum (EnumMap) (0) | 2023.01.05 |
[Java 10편] Functional Interface 정리 (0) | 2022.12.01 |
댓글