일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자바
- JVM
- mybatis
- Bitbucket
- Git
- npm
- heap메모리
- ElasticSearch
- springboot
- mysql
- 리눅스
- 트랜잭션
- Java
- spring
- nodejs
- 마이바티스
- Elk
- 시스템운영
- 아파치
- Stash
- Gradle
- 레드마인
- DB
- sql
- 엘라스틱서치
- SonarQube
- 스프링
- orm
- Apach
- slave node
- Today
- Total
프로그래머호이잇
4장 웹 프레젠테이션 본문
프레젠테이션 : 서비스제공, 정보표시 (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 |