CS/디자인 패턴 3

Factory Method

느낌 상으로는 Template Method 패턴의 확장팩 버전 같다. 인스턴스 생성할 클래스(Product)와 생성시켜주는 클래스(Factory)의 형태를 미리 정의(abstract)해놓고 하위 클래스에서 둘 다 구현시켜줌. 이 때, Template Method 패턴과 동일하게 생성되는 과정(예: 각종 옵션 값에 따라서 생성되는 인스턴스를 달리해주고 생성된 인스턴스 고유번호를 어디에 저장하고 등등..)은 클래스(Factory)에서 구현되어 있음. 다시 간단하게 설명하면 제품과 공장 및 제품 생성 구조(뼈대)는 이미 구성되어 있고 나머지는 하위 클래스에서 모두 구현한다고 보면 된다. // 제품 frame public abstract class Product { public abstract void prin..

CS/디자인 패턴 2023.09.16

Template Method

상위 클래스에서 필요한 Method들을 가지고 특정한 기능 수행을 위한 절차 또는 코드는 이미 구현되어있고 하위 클래스에서 각 절차에 필요한 Method들을 구현하는 패턴 Template Method 패턴은 이름 그대로 Template 형판, 견본이 있는 Method가 있고 각각에 필요한 메소드는 하위클래스에서 구현해준다. 예제 파일을 입력받아 데이터 내용만을 추출해야하는 기능이 있는데 파일 종류가 PDF, Excel, Word, txt 여러 종류가 있으면 데이터 타입에 따라 읽는 방식은 달라진다. 예를 들어, txt는 그냥 그대로 읽어오면 되지만 Excel 같은 경우, 쉼표로 각 데이터가 구분되어 있으니 쉼표를 구분자로 파싱을 해줘야한다. public abstract class AbstractExtra..

CS/디자인 패턴 2023.09.16