데코레이터 패턴
데코레이터 패턴은 원본에 데코레이션을 추가하는 데코레이터를 통해 오브젝트를 결합하여 반환 값에 데코레이션을 추가하는 패턴입니다.
오전. 데코레이터의 역할은 원본에 장식을 더하는 것입니다.
데코레이터 패턴의 예
public interface IService {
String runSomething();
}
public class ServiceA implements IService {
public String runSomething() {
return "서비스";
}
}
public class Decorator implements IService {
IService serivce;
public String runSomething() {
System.out.println("호출에 대한 장식이 주목적, 반환 값에 장식을 더함");
service = new ServiceA();
return "정말" + service.runSomething();
}
}
public class ClientWithDecorator {
public statis void mian(String() args) {
// 데코레이터를 이용한 호출
IService decorator = new Decorator();
System.out.println(decorator.runSometing());
}
}
클라이언트는 데코레이터의 메서드를 통해 호출합니다.
데코레이터는 클라이언트로부터 받은 반환 값에 데코레이션을 추가하고 서비스와 동일한 이름의 메서드를 가집니다.
데코레이터 함수 내에서 서비스 함수가 호출되고 데코레이터가 데코레이션을 추가합니다.