프로그래머호이잇

4장 웹 프레젠테이션 본문

아키텍처패턴

4장 웹 프레젠테이션

호이잇! 2021. 12. 19. 22:58

프레젠테이션 : 서비스제공, 정보표시 (HTML,CSS Javascript)사용자 요청, HTTP 요청

웹 프레젠테이션 이란?
웹 브라우저 기반의 사용자인터페이스로 소프트웨어 설치가 필요없고, 공통적인 UI 제공, 범용적 접근을 제공하는 프레젠테이션 계층

웹브라우저 기반 어플리케이션에서 웹 서버의 역할은 요청을 받으면 URL을 해석하고 웹서버 프로그램으로 제어권을 넘겨주는 것. 웹 서버 프로그램을 구성하는 방식은 스크립트, 서버 페이지 라는 두가지 주요형식이 존재함.
스크립트 : 일반적으로 HTTP호출을 처리하는 함수나 메서드를 포함하는 프로그램으로서 CGI스크립트와 자바 서블릿을 예로 들 수 있음.
서버페이지 : 반환하는 페이지는 HTML 로 작성하고 특정 시점에 실행할 코드를 HTML 스크립트릿으로 삽입함. 에로는 PHP, ASP, JSP가 있음.

스크립트는 요청 해석에 적합하고, 서버 페이지는 응답을 포매팅하는 데 적합함. 이러한 장점이 적용된 패턴은 우리가 잘 알고있는 모델 뷰 컨트롤러 패턴임.

뷰 패턴
변환 뷰, 템플릿 뷰, 2단계 뷰 3가지 패턴을 고려해야함.
변환 뷰와 템플릿 뷰는 기본적으로 1단계이고, 2단계 뷰는 두패턴에 적용할 수 있는 변형임.
템플릿 뷰는 페이지의 구조 안에 프레젠테이션을 작성하고 페이지에 표식을 삽입해 동적 콘텐츠를 넣을 위치를 지정할 수 있음. 페이지에서 완전한 프로그래밍 언어를 사용할 수 있게 해주는 서버 페이지 기술(ASP, JSP, PHP)임.
변환 뷰는사용할 도메인 데이터가 XML형식이거나 이 형식으로 쉽게 변환할 수 있을때 효과적임. 입력 컨트롤러는 적절한 XSLT스타일 시트를 선택하고 모델에서 얻음 XML에 이를 적용하는 방식.

변환 뷰와 템플릿 뷰 중 어떤것을 사용할지 정한 뒤 1단계 혹은 2단계 뷰를 사용할지 결정해야함.
1단계 뷰는 애프리케이션 화면당 뷰 컴포넌트 하나를 사용함.
예) 고객 데이터 <- 고객 뷰 -> 고객 HTML, 주문 데이터 <- 주문 뷰 -> 주문 HTML
2단계 뷰는 논리적 화면을 생성한 뒤 이를 HTML 로 렌더링하는 방식 첫째 단계에는 화면마다 뷰가 하나씩 존재하지만 두번째는 전체 애플리케이션에서 하나만 존재함.
예) 고객 데이터 <- 고객 뷰(1단계) -> 고객 논리적화면 <- 2단계 -> 고객 HTML
웹 브라우저와 모바일을 위한 별도의 두 번째 단계를 사용하여 각기 다른 출력 장치를 처리함.

입력 컨트롤러 패턴
입력 컨트롤러 패턴은 2가지 패턴이 있음. 페이지 컨트롤러가 뷰와 일대일 관계인 패턴과 한 객체가 모든 요청을 처리하는 프런트 컨트롤러가 있음.

출처 : 엔터프라이즈 애플리케이션 아키텍처 패턴

'아키텍처패턴' 카테고리의 다른 글

5장 동시성  (0) 2022.09.18
ORM 소스 예제  (0) 2021.12.06
2장 도메인논리 구성  (0) 2021.12.06
3장 관계형 데이터베이스  (0) 2021.11.29