Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- AuditingEntityListener
- spring boot
- 버전 문자열 비교
- MSSQL
- getDateCellValue
- getEntityGraph
- https
- 1*1000
- @CreateDate
- MYSQL
- Protecle
- 오블완
- yml
- NamedEntityGraph
- deserializer
- apatch poi
- sendFractionalSeconds
- fractional seconds
- pooled-lo
- 운동해서 광명찾자
- mysql equal null
- mysql not equal null
- EmbeddedId
- RootGraph
- mysql =
- createEntityGraph
- load order
- +9:00
- 티스토리챌린지
- @EntityListeners
Archives
- Today
- Total
Hello
2019.08.12 본문
728x90
전략패턴 - 런타임 알고리즘을 선택할 수있는 설계 패턴.
알고리즘 인터페이스를 정의하고 이를 구현받은 전략 클래스를 생성해 이것을 행위에 맞게 교체해 사용하는 것.
메소드는 동일하나 메소드에 작성된 알고리즘을 행위에 맞게 작성해 사용하는 것입니다.
예를들어 발지압,손지압 있고 지압이라는 인터페이스를 구현했고 이것을 사용하는 사람이 존재한다.
라고 가정해서 코드로 작성해 보았습니다.
<지압 인터페이스>
<발지압 클래스>
<손지압 클래스>
위의 구조를 보았을 때 손을 지압하는지, 발을 지압하는지의 두 가지 전략을 생성했습니다.
그리고 knead()를 각 전략에 맞게 어느 부위를 지압하는지 구현했습니다.
<마사지 클래스>
사용자의 전략에 의해 다르게 행동 할 수 있도록 전략을받아 행동을 사용할 수 있도록 마사지 클래스를 작성했습니다.
클라이언트가 원하는 마사지를 받을 수 있도록 Shiatsu를 설정하는 setSHiatsu를 호출한 후, 마사지를 받기만 하면 됩니다.
게임 캐릭터라는 인터페이스가 존재하고 이를 구현받는 각각의 캐릭터가 있다.
게임 캐릭터에는 공통으로 필요한 요소들을 정의해 놓고 각 게임 캐릭터마다의 행위에 맞게 작성해 캐릭터를 정의할 수 있다. 이건 전략패턴인가 팩토리패턴인가 흠..
728x90
'try' 카테고리의 다른 글
2019.09.01 (0) | 2019.09.01 |
---|---|
2019.08.12 (0) | 2019.08.12 |
2019.08.04 (0) | 2019.08.04 |
2019.06.06 (0) | 2019.06.06 |
2019.05.29 (0) | 2019.05.29 |