<
디자인 패턴 - 데코레이터 패턴
>
🌠다음 포스팅🌠

디자인 패턴 - 싱글톤 패턴
☄이전 포스팅☄

의존성 주입
스프링이 가지는 대표적인 디자인 패턴에 대해 알아보자

🚀 스프링에서 디자인 패턴의 중요성

디자인 패턴은 실제 개발 현장에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 가장 효율적인 예시를 정리한 패턴의 집합이다.

🌠 데코레이터 패턴 - 개방 폐쇄 원칙(OCP), 의존 역전 원칙(DIP)

장식하다라는 의미의 데코레이터 패턴은 프록시 패턴과 유사한 형태를 가지고 있지만

반환값을 가진다는 부분에서 차이점을 보인다.

프록시 패턴

데코레이터 패턴

데코레이터 패턴 - 적용 전

public interface IService {
    public abstract String runSomething();
}

public class Service implements IService {
    public String runSomething() {
        return "서비스 짱!!!";
    }
}

public class ClientWithNoDecolator {
	public static void main(String[] args) {
		Service service = new Service();
	 	System.out.println(service.runSomething());
	}
}

데코레이터 패턴 - 적용 후

public interface IService {
	public abstract String runSomething();
}

public class Service implements IService {
    public String runSomething() {
        return "서비스 짱!!!";
    }
}

public class Decoreator implements IService {
    IService service;

    public String runSomething() {
        System.out.println("호출에 대한 장식 주목적, 클라이언트에게 반환 결과에 장식을 더하여 전달");

        service = new Service();
        return "정말" + service.runSomething();
    }
}

public class ClientWithDecolator  {
    public static void main(String[] args) {
        IService decoreator = new Decoreator();
        System.out.println(decoreator.runSomething());
    }
}

🌠 정리

메서드 호출의 반환값에 변회를 주기 위해 중간에 장식자를 두는 패턴

데코레이터 패턴프록시 패턴과 같은 특성을 지니고 있어 개방 폐쇄 원칙의존 역전 원칙을 적용한 패턴이다.

🧾 Reference

Top
Foot