본문 바로가기
Today I Learned

[정보처리기사] 디자인 패턴 키워드로 정리

by Davidev 2023. 9. 7.
반응형

 

 

 

생성 : 객체 생성과 관련된 것 (추빌팩프싱)

 

 

Abstract Factory

#관련된것들 #모두모아

#카테고리화 #인터페이스화 #추상화 ('화' 라임이 중요)

 

 

 

 

Builder

#복잡한것 #조립 #보디빌더의 근육은 조립한 것 같다

 

 

 

 

Factory Method

#상위 #하위 #오버로딩

#상의 하의 모두 만드는 공장

 

 

 

 

 

Prototype

#일반적인 원형(시제품) #복사 #복제

#복사 붙여넣기를 복붙이라고 하죠

#복붙.. 복붙.. 복...부롯토..타입!!! 

 

 

 

 

Singleton

#전역변수대신 #객체하나로

#하나면 싱글이죠.. #침대도 혼자쓰는거면 싱글침대..

 

 

 

 

 

 


 

 

 

 

 

구조 : 구조 또는 구성에 관련된 것 (어브컴데퍼플프)

 

 

Adapter

#중간에서 맞춰주는 역할 #두가지 형태로 사용됨

#우리가 흔히 아는 어댑터는 110볼트랑 220볼트 두가지가 있습니다.

 

 

 

 

Bridge

#클래스 계층간 #연결 #분리 #확장

#브릿지는 "교량" 또는 "다리" 라는 뜻이죠

#다리를 연결하면 영역이 확장되고 다리를 끊으면 영역이 분리되죠

 

 

 

 

Composite

#부분-전체 #part-whole

#단일객체 #복합객체

#Composite는 "합성물"이란 뜻이죠

#부분적으로 나뉘어진 것들을 합치면(합성하면) 전체가 됩니다!

 

 

 

 

Decorator

#그때그때 #필요한것만 #기능추가

#자취해서 홈 데코 할 때 돈이 별로 없으니까 그때그때 필요한거 조금씩 사죠?

 

 

 

 

Facade

#복잡한시스템 #쉽게파악할수있게 #인터페이스제공

#복잡한 인생살이도 쉽게 만들어주는 아빠의 카드

#아..빠카드(Facade)

#실제발음은퍼사드

 

 

 

 

Flyweight

#공통요소를 클래스화 #자원공유 #메모리절약

#클래스의 경량화 #효율

#날아갈(Fly) 정도로 무게를 가볍게(weight) 잘 만들어서 이렇게 명명했나봐요

 

 

 

 

Proxy

#실제객체는 #반드시 필요할때만 접근하도록하고

#메모리절약을위해 #대리객체를만들어처리

#Proxy는 '대리인'이라는 뜻이죠? 단어와 잘 어울리는 패턴이네용

 

 

 

 

 

 

 


 

 

 

 

 

 

행위 : 객체의 상호작용과 역할에 관련된 것

 

먼 옛날 여름나라가 있었다.

여름나라는 이웃나라인 가을나라와 잘 지내고 싶었다.

그래서 여름나라는 '매미'를                            		        // 메멘토(Memento) 미디어터(Mediator)

'전략'적 업무 협약을(MOU) 위해 가을나라로 보냈다.			// 전략(Strategy)

가을나라에 '방문한 매미'는 가을나라 왕을 만났다.	  		// 방문자(Visitor)	

매미는 여름나라 왕의 '명령'을 받고 가져온 화친 선물인 			// 명령(Command)

유니크 보석 목걸이 "체오리(체인 오브 리스판서빌리티)" 를 주며 속삭였다.  // Chain of Responsibility

"님아 이 템 옵션 개쩜..ㅋㅋ 화친 ㄱ" 라고 말했지만   		  	// 이터레이터(Iterator) 템플릿메소드(Template Method)
									// 옵저버(Observer)
비속어를 사용해서 그런지 '언어 해석기'의 '상태'가 영 좋지 않았다. 	// 언어 해석기(Interpreter) 상태(State)

 

 

 

 

 

Memento

#실행취소 #작업취소

#기억해야할 정보가 있을 때

#메멘토라는 영화.. ㄱ 나니..? #기억상실증에 걸린 한 남자의 복수극..

 

 

 

 

Mediator

#중간에서 통제 #중재자

#Mediator의 단어 뜻이 '중재자'입니다만..?!

 

 

 

 

Strategy

#알고리즘(동작)을 캡슐화 #필요한 알고리즘을 서로 교환해서 사용

#행위의 캡슐화 

#기능만 캡슐화해서 스왑하는 전략은 처음인걸..?

 

 

 

 

Visitor

#처리기능만 분리 #해결사 클래스 생성

#돌아다니면서 처리기능 수행

 

 

 

 

Command

#명령에 따른 서브클래스 실행

#상관이 부르면 관등성명.. 아직도 하죠..?

 

 

 

 

Chain of Responsibility

#하드코딩으로 작성된 연결부분

#이 코드 누가 짰냐 #체인맛좀봐야겠는걸

#김과장 밑으로 전부 집합 #연대책임

 

 

 

 

Iterator

#컬렉션 모든항목에 접근 #반복자

#컬렉션프레임워크에 Iterator() 메서드가 있습니다만?!

 

 

 

 

Template Method

#일부분만 캡슐화 <= Visitor랑 유사함

#전체 구조는 그대로 #내부 처리만 리팩토링

#어떤 업무든 템플릿이 있으면 일이 편하쥬..

 

 

 

 

Observer

#눈팅하다가 #특이점발생시 #바로연락함

#스타크래프트.. 프로토스가 정찰할 때 쓰는 애..

 

 

 

 

Interpreter

#언어해석 #구문해석

#자바스크립트나 파이썬 배울때.. 자주 듣는 말이죠..

 

 

 

 

State

#객체의 '상태'를 캡슐화

#설명에서 바로 정답 나왔쥬..

 

 

 

반응형

댓글