diff --git "a/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/DecoratorPatternTest.java" "b/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/DecoratorPatternTest.java" new file mode 100644 index 0000000..a06a519 --- /dev/null +++ "b/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/DecoratorPatternTest.java" @@ -0,0 +1,20 @@ +package hello.proxy.pureproxy.decorator; + +import hello.proxy.pureproxy.decorator.code.DecoratorPatternClient; +import hello.proxy.pureproxy.decorator.code.RealComponent; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; + +@Slf4j +public class DecoratorPatternTest { + + @Test + void noDecoration() { + RealComponent realComponent = new RealComponent(); + DecoratorPatternClient client = new DecoratorPatternClient(realComponent); + + client.execute(); + client.execute(); + client.execute(); + } +} diff --git "a/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/code/Component.java" "b/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/code/Component.java" new file mode 100644 index 0000000..69eb063 --- /dev/null +++ "b/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/code/Component.java" @@ -0,0 +1,5 @@ +package hello.proxy.pureproxy.decorator.code; + +public interface Component { + String operation(); +} diff --git "a/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/code/DecoratorPatternClient.java" "b/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/code/DecoratorPatternClient.java" new file mode 100644 index 0000000..50defa5 --- /dev/null +++ "b/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/code/DecoratorPatternClient.java" @@ -0,0 +1,18 @@ +package hello.proxy.pureproxy.decorator.code; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class DecoratorPatternClient { + + private Component component; + + public DecoratorPatternClient(final Component component) { + this.component = component; + } + + public void execute() { + String operation = component.operation(); + log.info("result = {}", operation); + } +} diff --git "a/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/code/RealComponent.java" "b/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/code/RealComponent.java" new file mode 100644 index 0000000..28cc816 --- /dev/null +++ "b/\354\212\244\355\224\204\353\247\201 \353\241\234\353\223\234\353\247\2655 \352\263\240\352\270\211\355\216\270/proxy/src/test/java/hello/proxy/pureproxy/decorator/code/RealComponent.java" @@ -0,0 +1,12 @@ +package hello.proxy.pureproxy.decorator.code; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class RealComponent implements Component { + @Override + public String operation() { + log.info("RealComponent 실행"); + return "data"; + } +}