728x90 반응형 CS Study/디자인패턴84 22-04-18-책임연쇄패턴-2부-패턴적용하기 01.책임연쇄패턴 적용하기 01.1 RequestHandler before public class RequestHandler{ public handler(Request request){ System.out.println(request.getBody()); } } after public abstract class RequestHandler{ private RequestHandler nextHandler; public RequestHandler(RequestHandler nextHandler){ this.nextHandler = nextHandler; } public void handle(Request request){ if(nextHandler != null){ nextHandler.handle(reque.. 2022. 4. 18. 22-04-17-책임연쇄패턴-1부-패턴소개 01.책임연쇄패턴 책임들의 연쇄적으로 연결되어 있는 패턴 각각의 책임들이 연결되어 있는것 단일 책임 원칙의 책임이랑 같다 어떤 클래스가 변경되어야하는 이유는 한가지 이유여만 하는것 이 패턴은 요청을 보내는 쪽과 처리하는 쪽을 분리하는 패턴 요청을 보내는 쪽에서 요청을 처리하는 핸들러가 어떤 구체적인 타입인지 상관없이 디커플링된 상태에서 요청을 처리하게 해주는 패턴임 02.소스로 알아보는 패턴 02.1 Client public class Client{ public static void main(String[] args){ Request request = new Request("무궁화 꽃이 피었습니다."); RequestHandler requestHandler = new RequestHandler(); re.. 2022. 4. 18. 22-04-17-프록시패턴-4부-자바와스프링에서찾아보는패턴 01.자바코드 다이나믹 프록시, java.lang.reflect.Proxy 01.1 다이나믹 프록시 런타임에서 프록시를 제공하는 것 애플리케이션이 실행중에 인스턴스를 동적으로 만들수 있는 방법 02.스프링 스프링 AOP 여러코드에 흩어질 수있는것을 모아서 코딩해줄 수 있는 기법 퍼포먼스 측정을 다른곳에서 해야하는 경우 성능 측정하는것만 따로 모아놓는것 https://github.com/3DPIT/3dpit.github.io/blob/master/_posts/DesignPattern/22-04-17-%ED%94%84%EB%A1%9D%EC%8B%9C%ED%8C%A8%ED%84%B4-4%EB%B6%80-%EC%9E%90%EB%B0%94%EC%99%80%EC%8A%A4%ED%94%84%EB%A7%81%EC%97.. 2022. 4. 17. 22-04-17-프록시패턴-3부-장점과단점 01.장점과단점 01.1 장점 기존 코드를 변경하지 않고 새로운 기능을 추가할 수 있음 기존 코드가 해야 하는 일만 유지할 수 있음 open closed principle를 만족 기능 추가 및 초기화 지연 등으로 다양하게 활용할 수 있다. 01.2 단점 기존 코드가 단순한 클래스로 되어있으면 만들어야하는것이 많음 상속으로도 가능하지만 또는 그 상속을 해야하는 클래스가 final인 경우 상속을 못하기 때문에 왠만하면 인터페이스로 만들어서 해야함 코드가 복잡해지고 증가함 https://github.com/3DPIT/3dpit.github.io/blob/master/_posts/DesignPattern/22-04-17-%ED%94%84%EB%A1%9D%EC%8B%9C%ED%8C%A8%ED%84%B4-3%EB%.. 2022. 4. 17. 이전 1 ··· 3 4 5 6 7 8 9 ··· 21 다음 728x90 반응형