April 18, 2022
01.책임연쇄패턴
02.소스로 알아보는 패턴
02.1 Client
02.2 RequestHandler
03.그래서? 책임 연쇄 패턴은 뭐니?
각각의 책임들이 연결되어 있는것
이 패턴은 요청을 보내는 쪽과 처리하는 쪽을 분리하는 패턴
public class Client{
public static void main(String[] args){
Request request = new Request("무궁화 꽃이 피었습니다.");
RequestHandler requestHandler = new RequestHandler();
requestHander.handler(request);
}
}
public class RequestHandler{
public handler(Request request){
System.out.println(request.getBody());
}
}
인증, 처리를 해야한다면?
public class AuthRequestHandler extends RequestHandler{
public void handler(Request request){
System.out.println("인증이 되었나?");
System.out.println("이 핸들러를 사용할 수 있는 유저인가?");
super.handler(request);
}
}
Client는
public class Client{
public static void main(String[] args){
Request request = new Request("무궁화 꽃이 피었습니다.");
RequestHandler requestHandler = new AuthRequestHandler();
requestHander.handler(request);
}
}
단, 클라이언트가 선택을 해야함, 클라이언트가 바뀜
요청을 보내는 쪽(sender)과 요청을 처리하는 쪽(receiver)의 분리하는 패턴