[디자인 패턴] 구조 패턴 –

데코레이터 패턴

데코레이터 패턴은 원본에 데코레이션을 추가하는 데코레이터를 통해 오브젝트를 결합하여 반환 값에 데코레이션을 추가하는 패턴입니다.

오전. 데코레이터의 역할은 원본에 장식을 더하는 것입니다.

데코레이터 패턴의 예

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());
    }
}

클라이언트는 데코레이터의 메서드를 통해 호출합니다.

데코레이터는 클라이언트로부터 받은 반환 값에 데코레이션을 추가하고 서비스와 동일한 이름의 메서드를 가집니다.

데코레이터 함수 내에서 서비스 함수가 ​​호출되고 데코레이터가 데코레이션을 추가합니다.