일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- GoF 디자인패턴
- elasticsearch
- gitops
- Logrus
- 디자인패턴
- Kubernetes
- 컴포지트패턴
- http 413
- golang
- apollo router
- 티스토리챌린지
- 오블완
- AWS
- Intellij
- intellij ide
- GoF
- 배포 파이프라인
- 윈도우키보드
- body size
- Buffered channel
- UnBuffered channel
- 대규모 시스템 설계
- 배포 프로세스
- Golines
- System Design
- goland
- notification system
- Infra
- 사설 ip
- go
Archives
- Today
- Total
Fall in IT.
스트래티지(Strategy) 패턴 사용하기 본문
반응형
안녕하세요.
오늘은 스트래티지 패턴(Strategy Pattern)에 대해서 알아보고, 간단한 예제에 적용해 보도록 하겠습니다.
스트래티지 패턴이란?
- 스트래티지 패턴은 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비즈니스 규칙 등의 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴입니다.
(예를들어, 게임 프로그래밍을 할때 게임 캐릭터가 자신이 사용하는 무기를 상황에 따라 변경하고 싶을때 유용합니다.)
스트래티지 패턴 설계
- 스트래티지 패턴의 기본 설계는 아래와 같습니다.
- 스트래티지 패턴의 핵심 전략은 무엇이 변화되었는지를 찾은 후에 이를 클래스로 캡슐화 하는 것입니다.
간단한 요구사항
- 로봇 만들기
- 아톰, 태권V, 선가드 로봇들을 만들어본다.
- 각각의 로봇들은 기본적으로 이동기능과 공격기능을 가지고 있다.
- 공격의 기능과 이동기능은 각 로봇마다 특징이 다르다.
- 새로운 공격기능과 이동기능을 자유자재로 붙였다 뗏다 할 수 있어야 한다.
- 또한, 여러가지 로봇을 추가할 수 있다.
예제소스
(예제 소스는 아래 링크에서 참조해주시기 바랍니다. ^^)
(예제 소스는 아래 링크에서 참조해주시기 바랍니다. ^^)
반응형
'프로그래밍언어 > Java' 카테고리의 다른 글
자바 Base64 인코드/디코드 (0) | 2016.09.04 |
---|---|
자바에서 this와 super란? (1) | 2016.08.08 |
싱글톤 패턴(Singleton Pattern) 사용하기 (4) | 2016.07.25 |
자바 실행 에러 Exception in thread "main" java.lang.UnsupportedClassVersionError: com/chat/SyChatAppApplication : Unsupported major.minor version 52.0 (0) | 2016.07.07 |
Map 객체, key 또는 value를 사용한 정렬 (2) | 2016.04.08 |
Comments