본문 바로가기

공부/디자인패턴8

Abstract Factory Pattern (추상 팩토리 패턴) Abstract Factory Pattern (추상 팩토리 패턴) 서로 연관되거나 의존적인 객체로 이루어진 제품군을 생산하는 인터페이스를 제공하는 것이 목적이다. Example 엘레베이터에는 Motor와 Door 부품이 들어간다. Samsung 엘레베이터에는 Samsung Motor와 Door, LG 엘레베이터에는 LG Motor와 Door, A사 엘레베이터는 Motor와 Door를 직접 만들지 않아 Samsung Motor와 LG Door를 사용한다고 하자. 이해하기 쉽도록 아래 UML과 매칭시켜 보자. Product는 부품이다. 즉, Motor와 Door이다. AbstractProductA : Motor ProductA1 : Samsung Motor ProductA2 : LG Motor Abstrac.. 2023. 2. 2.
Factory Pattern (팩토리 패턴) Factory Pattern (팩토리 패턴) 서로 관련성이 있거나 책임이 같은 클래스들을 "생성"해주는 클래스를 객체 생성관정 중간에 두어 복잡도를 줄이는 방법이다. 즉, 비슷한 객체를 공장(factory)에서 찍어내듯이 생성해주는 역할을 하는 클래스를 따로 두는 것을 말한다. 이러한 역할을 하는 클래스의 클래스명 자체에 명시적으로 Factory를 붙여주기도 한다. Example 아래는 image type에 따르는 Reader를 생성하는 JAVA 예제이다. public class ImageReaderFactory { public static ImageReader createImageReader(ImageInputStreamProcessor iisp) { if (iisp.isGIF()) { return n.. 2023. 2. 2.
Observer Pattern (옵저버 패턴) Observer Pattern (옵저버 패턴) Observer는 Subject가 소유하는 정보의 변화에 관심을 갖으며, 변화가 일어났을 때 자신에게 알려주길 바란다. 이를 옵저버(Observer) 패턴이라고 한다. Observer : 정보의 변화에 관심이 있는 객체 Subject : 정보 자체와 정보의 변화에 관심을 갖는 observer들의 목록을 갖고있는 객체 Example 1 AS센터에 노트북 수리를 맡긴다고 하자. 수리를 맡긴 후 수리 완료된 노트북을 돌려받기까지의 과정이다. AS센터에 노트북 수리를 맡김 → AS센터에 계속 전화를 걸어 AS 수리 완료여부를 확인 → 3일동안 전화한 끝에 수리완료를 확인 받고 노트북을 찾음. AS센터에 노트북 수리를 맡김 (연락처 남김) → 3일 뒤 AS센터로 부터.. 2023. 2. 2.