proxy pattern
-
추상 클래스, 인터페이스, 상속, 합성, 프록시/데코레이터 패턴 그리고 Spring AOPDEV 2024. 1. 20. 12:08
추상클래스와 인터페이스는 어떻게 다른가? 왜 상속보다는 합성(조합)을 사용하는가? 데코레이터 패턴, 프록시 패턴은 이들과 어떤 관계가 있는가? 추상 클래스 public abstract class Logger { private String name; private boolean enabled; private Level minPermittedLevel; //생성자 public void log(Level level, String msg) { ... doLog(level, message); } protected abstract void doLog(Level level, String msg); } public class FileLogger extends Logger { private Writer fileWrite..
-
Test DoubleDEV 2023. 12. 2. 19:33
테스트 대역 = Test Double 개발하다 보면 여러 객체들 간 의존성이 발생 → 의존성이 단위 테스트를 어렵게 만듦 → 진짜 객체는 느리고 자원을 많이 사용하기 때문에 → 실제 객체를 대신할 수 있는 객체가 필요 → 가짜객체 생성 ⇒ test double (테스트 대역) 💡 test double을 mock이라고 말하는 경우도 있지만, mock은 좁은 의미로 test double의 한 종류, 넓게는 테스트 더블을 의미하기도 한다. 대역(test double)의 종류 stub, fake, spy, mock 역할을 명확히 나누는 것이 애매할 경우가 있고, 서로의 특성을 조금씩 포함 input & output 입력 → 논리 → 출력 모든 프로그램은 입력 → 출력의 흐름으로 이어지는데, 입출력의 종류에는 직..