본문 바로가기

java/Design Pattern

Template Method 자바 디자인 패턴 4 - Template Method 1. Template Method 패턴은.. 전체적인 로직에는 큰 차이가 없지만 일부분만 바뀌는 비스무레한 몇 가지 클래스가 있다고 칩시다. 일부분을 위해서 전체를 새로 작성할 필요는 없지요. Template Method에서는 전반적인 구현은 상위클래스(주로 Abstract로 만듭니다.)에서 담당하고 부분적인 곳의 구체적인 구현은 하위클래스가 담당합니다. 2. 예제 ------------- 템플릿 메쏘드가 있는 Abstract Class ---------------package ch04_TemplateMethod; public abstract class Worker { protected abstract void doit(); public final v.. 더보기
Factory Method 자바 디자인 패턴 3 - Factory Method 1. Factory Method패턴은.. factory는 공장이죠. 객체를 막 찍어내는 놈입니다. 객체 선언은 보통 new 객체() 이런식으로 하죠. factory는 내부에서 그런 일을 해줍니다. 즉 factory를 가져다가 쓰는 부분에서는 new 객체()와 같은 식으로 변수를 선언할 필요가 없습니다. Abstract class나 인터페이스에 대해서 다양한 하위 구현체가 있을 경우에 사용하면 좋습니다. 사용법은 Factory.create(인자는 맘대로) 와 같이 됩니다. 2. 예제 package chap03_StaticFactory;public interface Animal { public void printDescription();} package c.. 더보기
Adapter 자바 디자인 패턴 2 - Adapter 1. Adapter 패턴은.. 이미 구현되어 있는 코드가 있는데, 둘이 연결 좀 시켜주고 싶을 때가 있죠. 어떤 좋은 메쏘드가 있는데, 인자로 A라는 형식을 받습니다. 근데, 이미 구현되어 있는 코드에는 B라는 형식으로 구현되어 있습니다. 이럴 때, B를 A의 형식으로 바꿔주면 좋은 메쏘드를 써먹을 수 있습니다. Adapter 패턴은 어떤 오브젝트를 캐스팅이 불가능한 다른 클래스의 형태로 변환시켜주는 것입니다. 2. 예제 ---------------Adapter Class --------------------package ch02_adapter; import java.util.Enumeration;import java.util.Iterator; public clas.. 더보기