디자인패턴 3

Adapter 패턴(Adapter Pattern) - 디자인패턴

Adapter 패턴 정의 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함꼐 작동하도록 해준다. Adapter의 다른의미로 Wrapper 라는 말을 사용함 방식 클래스 어댑터 객체 어댑터 클래스 어댑터 vs 객체어댑터 차이점 클래스 어댑터는 상속을 사용함 객체 어댑터는 합성을 사용함 위 그림을 보면 Adapter 가 operation()을 사용할 때 specificOperation 메서드를 호출하는데 이것이 내부 객체로 오는지 상속을 통해서 오는지의 차이가 있을뿐 동일한 형태다. 객체 어댑터 장점 상속이 아닌 구성(Composition)을 사용하기 때문에 더 유연하다. 단점 Adapter 객체를 만들어야 사용가..

Study 2021.12.24

FrontController 패턴 - 디자인 패턴

FrontController 패턴 특징 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출 MVC패턴에서 입구를 하나로 만든 형태 공통 처리가 가능함 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨 뷰에서 들어오는 모든 요청을 담당하여 웹 애플리케이션을 실행하는 모든 요청을 일괄적으로 처리할 수 있음 스프링 웹 MVC에서 프론트 컨트롤러 - 스프링 웹 MVC의 DispatcherServlet이 FrontController 패턴으로 구현되어 있다. - FrontController를 하나의 인터페이스 뿐만이 아니라 여러가지 인터페이스 호환을 위해 어댑터패턴을 적용한다. https://conpulake.tistory.com/254..

Study 2021.12.24

MVC 패턴 - 디자인 패턴

MVC 패턴(Model View Controller) 등장 배경 너무많은 역할 비즈니스 로직은 서블릿처럼 다른 곳에서 처리하고, HTML은 화면(View)을 그리는 일에 집중하기 위해 만들었다. 서블릿으로 개발할 때, 뷰(View)화면을 위한 HTML을 만드는 작업이 자바 코드에 섞여서 지저분하고 복잡해진다. 비즈니스 로직을 호출하는 부분에 변경이 발생해도 해당 코드를 손대야하고, UI를 변경할 일이 있어도 비즈니스 로직이 함께 있는 해당 파일을 수정해야한다. 변경의 라이프 사이클 비즈니스 로직과 UI 사이에 변경의 라이프 사이클이 다르다. 대부분의 경우 서로에게 영향을 주지 않는다. 변경의 라이프 사이클이 다른 부분을 하나의 코드로 관리하는 것은 유지보수에 좋지 않다. 기능 특화 특히 JSP 같은 뷰 ..

Study 2021.12.22