본문 바로가기

GoF 디자인 패턴「행위편」

by Recstasy 2020. 12. 15.

행위와 관련된 GoF 디자인패턴의 종류는 다음 9가지가 있다. 

 

패턴 설명 활용 분야
책임-연쇄
·단계

·
자바스크립트의 프로미스 구문과 유사

· 제이쿼리의 체이닝과 같은 방식이 대표적인 사례

· 단계시스템 구축
(정부24)

· 도미노피자 단계별 주문
커맨드
·실행

·
한번의 명령으로 복잡한 여러 작업을 실행할 때 사용할 수 있음

· 스마트홈과 같은 시스템에서 원클릭 스마트 시스템이 대표적인 사례 

· 스마트홈 원클릭 시스템
· 자판기 주문
(원클릭 관련 시스템
)
스테이트
·라이브

·
변경되는 외부상황을 캐치할 때 사용할 수 있음

· 실시간으로 변하는 데이터 분석 및 상황을 알려주는 시스템에 적용

· 빅데이터 상황판
· 실시간 미세먼지 상황
스트래티지
·선택

·
단일 인터페이스에서 여러 기능을 선택할 수 있는 분야에 사용가능

· 게임에서 캐릭터의 다양한 무기를 선택하는 시스템이 대표적인 사례 

· 게임 무기시스템
· 선택형 시뮬레이션 구현
미디에이터
·반응

·
하위 레벨에서 발생하는 변화를 캐치하고,

해당 정보를 상위에서 판단 & 분석 & 결론을 내릴 수 있는 구문
· 유저 반응형 GUI시스템이 대표적인 사례 

· 유저 반응형 GUI
· IOT센서결합
템플릿
메서드
·소개

·
스트래티지 패턴 구현에 포함되며, 병합 문제를 고려하여

스트래티지를 사용하는 편을 추천 

· 퀴즈 시스템
· MBTI검사
옵저버
·알림

·
실시간으로 변경 상태를 알려주는 패턴이며,

State패턴과의 차이점은 중앙처리 알고리즘에 달려 있음

· State패턴은 특정분야의 같은 업무 내에서 사용하며(분석 가능)
Observer패턴은 시스템 전체에서 아키텍처 경계를 넘나드는 상황에 사용

· 댓글&메시지 알림
· 시스템 변경 알림
메멘토
·되돌리기

· 히스토리를 저장하여, 특정 시간대로 되돌릴 수 있는 패턴
· 단독으로 사용하기보다 시스템 내부의 기능구현에 사용하기 좋음

· Undo 기능
· 히스토리 기능

인터프리터
·가로채기

· 중간에서 데이터를 캐치하여 파싱할 수 있는 패턴
· 인터페이스로 전달되는 데이터를 외부의 특정 알고리즘으로
분석하거나 결과를 도출할 때 사용할 수 있음 
· 언어 번역
· 데이터포맷 변경
비지터
·특정검색

· 객체를 검사하는 데에 용이한 패턴
· 검사대상 객체의 내부에 visit()메서드를 상속하고
해당 메서드의 인자에 검사조건을 담은 Visitor클래스를 전달하는 방식 
· DB컴포넌트 검색기능
· 검증시스템
이터레이터
·통합검색

· 이터레이터는 자바스크립트의 for-of문에 적용되어 있음
· 객체를 돌아가며 검사하는 클래스와 이터레이터를 선언하는 클래스를
분리함으로써 검사대상에 의존하지 않는 알고리즘이 핵심
· 배열 검색
· 빅데이터 분석

 

'코드 스터디' 카테고리의 다른 글

『Zim.js』 간략정리  (0) 2021.03.24
클린 아키텍처  (0) 2020.12.28
GoF디자인패턴「구조편」  (0) 2020.12.14
GoF디자인패턴「생성편」  (0) 2020.12.11
싱글톤 패턴  (0) 2020.12.10

댓글

최신글 전체

이미지
제목
글쓴이
등록일