728x90 전체 글380 [Design Pattern] Strategy Pattern Strategy Pattern 이란? 실행 중에 알고리즘을 선택할수 있게 해주는 패턴이다. 유연하고 재사용 가능한 객체 지향 소프트웨어를 설계하기 위해 반복되는 디자인 문제를 해결하는 방법이다. 다형성을 잘 이해해야 된다. 각 알고리즘을 캡슐화 한다. - 알고리즘들은 해당 계열 안에서 상호 교체가 가능하게 만든다. Strategy Pattern 장점 여러개의 재사용이 가능하다. - 인터페이스와 구현체를 나누면 동일한 기능을 상황에 맞게 구현할수 있다. 기존코드를 변경할 필요 없이 새로운 전략을 만들수 있다. Strategy Pattern 구조 Strategy 를 Interface 로 만든다. 구현체 class 를 원하는 만큼 구현한다. Context 에서 사용할때는 alogorithm 만 호출하면 된다... 2021. 10. 28. [Spring] 프론트 컨트롤러 4 : 개선편 프론트 컨트롤러 4 앞서 만들어 둔 프론트컨트롤러를 개선한다. 개선방안 우리는 앞에 프로젝트에서 모델뷰를 만들었다. 이번에는 모델뷰를 제거한다. 대신 컨트롤러에 Map 을 넘겨 필요한 데이터를 저장한다. Controller interface 모델 뷰가 없어지고 파라미터들이 Map 으로 변경되었다. package hello.servlet.web.frontcontroller.v4; import java.util.Map; public interface ControllerV4 { /** * * @param paramMap * @param model * @return viewName */ String process(Map paramMap, Map model); } FrontContorller Map 으로 mode.. 2021. 10. 26. [Spring] 프론트 컨트롤러 3 : 종속성제거, 뷰리졸버 구현 프론트 컨트롤러 종속성제거, 뷰리졸버 구현 이전에 반복되는 코드들을 줄인다. 프론트컨트롤러에 많은 역할을 주고 일반 컨트롤러에서는 종속성을 제거한다. 서블릿 종속성을 제거한다. 컨트롤러 입장에서 HttpServletRequest, HttpServletResponse 가 꼭 필요하진 않다. 그렇다면 requset 에서 model을 가져다 썼는데 어떻게 해결할까? - 직접 만들어서 사용한다. 종속성을 제거의 장점 불필요한 코드 request, response 를 줄일수 있다. 만약 파일의 경로가 변경되면 프론트컨트롤러 만 손보면 된다. 유지보수가 간편해 진다. 뷰이름 중복제거 컨트롤러마다 뷰이름이 계속해서 등장하고 절대경로를 사용한다. 상대경로로 변경하여 구현한다. /WEB-INF/views/new-form.. 2021. 10. 23. [Spring] 프론트 컨트롤러 2 : 적용, 뷰 분리 프론트 컨트롤러 적용 과 뷰 분리 프론트 컨트롤러를 직접 만들어 보자. 프론트 컨트롤러 적용 전체적인 구조 ControllerV1 interface 인터페이스로 만든 이유 - 다형성으로 필요한 컨트롤러들을 구현한다. public interface ControllerV1 { void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException; } MemberFormContrellerV1 앞서 구현한 기존로직과 동일하다. 다른점은 ControllerV1 을 상속받아 구현을 하였다. public class MemberFormControllerV1 implements ControllerV.. 2021. 10. 21. 이전 1 ··· 39 40 41 42 43 44 45 ··· 95 다음 728x90 반응형