-
프록시 패턴
클라이언트에서 프록시를 통해 서버에 요청 클라이언트 : 서버로 요청하는 주체서버 : 클라이언트의 요청을 처리하는 주체 일반적으로 클라이언트에서 서버로 직접 호출한다.프록시 패턴에서는 클라이언트에서 프록시에게 요청하고, 프록시가 서버로 요청하여 처리하는 패턴을 갖는다.서버와 프록시는 동일한 인터페이스를 상속받고, 클라이언트는 인터페이스로 요청한다. 프록시란?프록시(Proxy)는 대리자라는 뜻처럼 서버가 처리하는 요청을 대신 처리해주는 클래스를 말한다.클라이언트와 서버 사이에 위치하기 때문에 서버로 요청을 보내지 않고 클라이언트로 응답할 수도 있고, (접근제어)서버로부터 응답을 받은 후 부가기능을 수행하여 클라이언트로 응답할 수도 있다. (부가 기능 추가)GOF 디자인 패턴에서는 접근제어와 부가기능추가의..
2024.05.29
-
템플릿 콜백 패턴
🗣 템플릿 콜백 패턴여러 클래스에서 반복되는 로직이지만, 로직의 일부분만 클래스별로 다르게 처리해야 할 때 사용하는 디자인 패턴.템플릿 메서드 패턴, 전략패턴과 기능은 유사하지만 아래와 같은 차이점이 있다. 🆚 템플릿 메서드 패턴 & 전략패턴디자인 패턴변하지 않는 로직변하는 로직템플릿 메서드 패턴부모클래스자식클래스전략 패턴클래스, Context로 표현인터페이스 구현 클래스, Strategy로 표현템플릿 콜백 패턴클래스, Template으로 표현인터페이스 구현 클래스, Callback으로 표현 📚 사전지식인터페이스다형성오버라이딩 🏗 구조1. Callback 인터페이스를 구현한 클래스를2. Template 메서드의 파라미터로 전달하고3. Template 메서드 내부에서 실행 🏭 구..
2024.05.28
-
전략 패턴
🗣 전략 패턴여러 클래스에서 반복되는 로직이지만, 로직의 일부분만 클래스별로 다르게 처리해야 할 때 사용하는 디자인 패턴.템플릿 메서드 패턴과 기능은 유사하지만 아래와 같은 차이점이 있다. 🆚 템플릿 메서드 패턴디자인 패턴변하지 않는 로직변하는 로직템플릿 메서드 패턴부모클래스자식클래스전략 패턴클래스, Context로 표현인터페이스 구현 클래스, Strategy로 표현 📚 미리 알고 있어야 하는 내용인터페이스다형성오버라이딩 🏗 전략 패턴 구조1. Strategy 인터페이스를 구현한 클래스를2. Context 메서드의 파라미터로 전달하고3. Context 메서드 내부에서 실행 🏭 전략 패턴 구현1. Strategypublic interface Strategy { void cal..
2024.05.23
-
템플릿 메서드 패턴
템플릿. [ 자주 사용되는 그림, 패턴 등을 미리 만들어 놓아서 다음에 사용할 때 이것을 이용하는 것. ] 🗣 템플릿 메서드 패턴여러 클래스에서 반복되는 로직이지만, 로직의 일부분만 클래스별로 다르게 처리해야 할 때 사용하는 디자인 패턴. 📚 미리 알고 있어야 하는 내용추상클래스다형성상속오버라이딩 🏗 템플릿 메서드 패턴 구조 🏭 템플릿 메서드 구현템플릿 메서드는 추상클래스를 사용한다.먼저 일부만 다르게 처리할 것은 추상메서드로 선언한다.그리고 반복되는 로직은 일반메서드로 구현한다.마지막으로 일반 메서드의 내부에서 추상메서드를 호출한다.import lombok.extern.slf4j.Slf4j;@Slf4jpublic abstract class AbstractTemplate { ..
2024.05.18