memostack
article thumbnail
Design Pattern - Factory Method Pattern (팩토리 메소드 패턴)
Study/Design Pattern 2020. 6. 7. 22:38

Factory Method Pattern 팩토리 메소드 패턴은 '객체'와 '객체 생성 클래스'를 따로 분리하는 디자인 패턴이다. 객체 생성 클래스가 따로 분리되어 있어서, 객체 생성 변화에 유연하게 대비할 수 있다. 팩토리 메소드 패턴을 이용하기 위해서는 Strategy Pattern과 Template Pattern의 개념을 아는 것이 좋다. (자주 사용됨) 예제 요구사항 게임 아이템을 만드는 아이템 생성자를 만든다. 아이템의 정보는 DB에 있다. 아이템 불법 생성을 막기 위해, 아이템 생성 로그를 남긴다. 아이템을 상속받아 여러개의 세부 아이템(물약, 검, 갑옷 등등)을 구현한다. 아이템 생성자 public abstract class ItemCreator { public Item create() { /..

article thumbnail
Design Pattern - Template Method Pattern (템플릿 메소드 패턴)
Study/Design Pattern 2020. 6. 7. 20:16

Template Method Pattern 템플릿 메소드 패턴은 일정한 구조의 프로세스를 가진 경우, 사용하기 좋은 디자인 패턴 코드의 중복을 줄일 수 있고 유지보수하기에도 편리함. 일정한 구조의 프로세스? 특정 알고리즘이 A -> B -> C 와 같이 항상 A 작업을 수행하고, B작업, C작업을 수행한다면, 각 작업들을 메소드로 구현한다. A -> B -> C 순으로 실행되도록 실행 메소드를 구현한다. (아래 수도코드 참고) func doA: // A 로직 수행 func doB: // B 로직 수행 func doC: // C 로직 수행 func doSomething: doA doB doC 예제 요구사항 계정 로그인을 한다. 로그인의 동작 순서는 아래와 같다. 사용자의 아이디, 비밀번호 복호화 유효한 아..