엔터프라이즈 애플리케이션 아키텍처 패턴(재출간판)
도서명:엔터프라이즈 애플리케이션 아키텍처 패턴(재출간판)
저자/출판사:마틴,파울러,이대엽,엮음,/위키북스
쪽수:568쪽
출판일:2015-10-27
ISBN:9791158390174
목차
▣ 들어가며
아키텍처
엔터프라이즈 애플리케이션
엔터프라이즈 애플리케이션의 유형
성능에 대한 고려
패턴
패턴의 구조
이러한 패턴의 한계
[01부] 이야기
▣ 01장: 계층화
엔터프라이즈 애플리케이션에서 계층의 발전
세 가지 주요 계층
계층이 실행될 위치 선택
▣ 02장: 도메인
선택
서비스 계층
▣ 03장: 관계형
아키텍처 패턴
동작 문제
데이터 읽기
구조적 매핑 패턴
- 관계 매핑
- 상속
매핑
- 이중 매핑
메타데이터 사용
데이터베이스 연결
기타 주의사항
참고 자료
▣ 04장: 웹 프레젠테이션
뷰 패턴
입력 컨트롤러 패턴
참고 자료
▣ 05장: 동시성
동시성 문제
실행 컨텍스트
격리와 불변성
낙관적 동시성 제어와 비관적 동시성 제어
- 일관성 없는 읽기 예방
- 교착 상태
트랜잭션
- ACID
- 트랜잭션 리소스
- 활동성을 위한 트랜잭션 격리성 저하
- 비즈니스 트랜잭션과 시스템 트랜잭션
오프라인 동시성 제어를 위한 패턴
애플리케이션 서버 동시성
참고 자료
▣ 06장: 세션 상태
상태 비저장의 가치
세션 상태
세션 상태를 저장하는 방법
▣ 07장: 분산 전략
분산 객체의 매력
원격 및 로컬 인터페이스
분산이 필요한 상황
분산 경계를 사용한 작업
분산을 위한 인터페이스
▣ 08장: 종합
도메인 계층으로 시작하기
데이터 원본 계층
- 트랜잭션 스크립트(115)의 데이터 원본
- 테이블 모듈(132)의 데이터 원본
- 도메인 모델(122)의 데이터 원본
프레젠테이션 계층
몇 가지 기술 관련 조언
- 자바와 J2EE
- .NET
- 저장 프로시저
- 웹 서비스
다른 계층화 체계
[02부] 패턴
▣ 09장: 도메인 논리 패턴
트랜잭션 스크립트
- 작동 원리
- 사용 시점
- 수익 인식 문제
- 예제: 수익 인식(자바)
도메인 모델
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 수익 인식(자바)
테이블 모듈
- 작동 원리
- 사용 시점
- 예제: 테이블 모듈을 이용한 수익 인식(C#)
서비스 계층
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 수익 인식(자바)
▣ 10장: 데이터 원본 아키텍처 패턴
테이블 데이터 게이트웨이
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 인물 게이트웨이(C#)
- 예제: ADO.NET 데이터 집합 사용(C#)
행 데이터 게이트웨이
- 작동 원리
- 사용 시점
- 예제: 인물 레코드(자바)
- 예제: 도메인 객체를 위한 데이터 홀더(자바)
활성 레코드
- 작동 원리
- 사용 시점
- 예제: 간단한 인물 클래스(자바)
데이터 매퍼
- 작동 원리
- 사용 시점
- 예제: 간단한 데이터베이스 매퍼(자바)
- 예제: 검색기 분리(자바)
- 예제: 비어 있는 객체 만들기(자바)
▣ 11장: 객체-관계형 동작 패턴
작업 단위
- 작동 원리
- 사용 시점
- 예제: 객체 등록을 사용하는 작업 단위(자바)
식별자 맵
- 작동 원리
- 사용 시점
- 예제: 식별자 맵의 메서드(자바)
지연 로드
- 작동 원리
- 사용 시점
- 예제: 지연 초기화(자바)
- 예제: 가상 프락시(자바)
- 예제: 값 홀더 사용(자바)
- 예제: 고스트 사용(C#)
▣ 12장: 객체-관계형 구조 패턴
식별자 필드
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 정수 키(C#)
- 예제: 키 테이블 사용(자바)
- 예제: 복합 키 사용(자바)
외래 키 매핑
- 작동 원리
- 사용 시점
- 예제: 단일 값 참조(자바)
- 예제: 다중 테이블 검색(자바)
- 예제: 참조의 컬렉션(C#)
연관 테이블 매핑
- 작동 원리
- 사용 시점
- 예제: 직원과 기술(C#)
- 예제: 직접 SQL 사용(자바)
- 예제: 여러 직원을 쿼리 하나로 처리(자바)
의존 매핑
- 작동 원리
- 사용 시점
- 예제: 앨범과 트랙(자바)
포함 값
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 간단한 값 객체(자바)
직렬화 LOB
- 작동 원리
- 사용 시점
- 예제: 부서 계층을 XML로 직렬화(자바)
단일 테이블 상속
- 작동 원리
- 사용 시점
- 예제: 선수 정보를 단일 테이블로 매핑(C#)
- 데이터베이스에서 객체 로드
클래스 테이블 상속
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 선수의 상속 구조 매핑(C#)
구현 테이블 상속
- 작동 원리
- 사용 시점
- 예제: 구현 테이블 상속(C#)
상속 매퍼
- 작동 원리
- 사용 시점
▣ 13장: 객체-관계형 메타데이터 매핑 패턴
메타데이터 매핑
- 작동 원리
- 사용 시점
- 예제: 메타데이터와 리플렉션 사용(자바)
쿼리 객체
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 간단한 쿼리 객체(자바)
리포지토리
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 인물의 의존자 검색(자바)
- 예제: 리포지토리 전략의 교체(자바)
▣ 14장: 웹 프레젠테이션 패턴
모델 뷰 컨트롤러
- 작동 원리
- 사용 시점
페이지 컨트롤러
- 작동 원리
- 사용 시점
- 예제: 서블릿 컨트롤러와 JSP 뷰를 사용한 간단한 표시(자바)
- 예제: JSP를 처리기로 사용(자바)
- 예제: 코드 숨김을 이용한 페이지 처리기(C#)
프런트 컨트롤러
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 간단한 디스플레이(자바)
템플릿 뷰
- 작동 원리
- 사용 시점
- 예제: 별도의 컨트롤러와 함께 JSP를 뷰로 사용(자바)
- 예제: ASP.NET 서버 페이지(C#) 380
변환 뷰
- 작동 원리
- 사용 시점
- 예제: 간단한 변환(자바)
2단계 뷰
- 작동 원리
- 사용 시점
- 예제: 2단계 XSLT(XSLT)
- 예제: JSP와 커스텀 태그(자바)
애플리케이션 컨트롤러
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 상태 모델 애플리케이션 컨트롤러(자바)
▣ 15장: 분산 패턴
원격 파사드
- 작동 원리
- 사용 시점
- 예제: 자바 세션 빈을 원격 파사드로 사용(자바)
- 예제: 웹 서비스(C#)
데이터 전송 객체
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 앨범에 대한 정보 전송(자바)
- 예제: XML을 사용한 직렬화(자바)
▣ 16장: 오프라인 동시성 패턴
낙관적 오프라인 잠금
- 작동 원리
- 사용 시점
- 예제: 도메인 계층과 데이터 매퍼(174)(자바)
비관적 오프라인 잠금
- 작동 원리
- 사용 시점
- 예제: 간단한 잠금 관리자(자바)
굵은 입자 잠금
- 작동 원리
- 사용 시점
- 예제: 공유된 낙관적 오프라인 잠금(441)(자바)
- 예제: 공유된 비관적 오프라인 잠금(452)(자바)
- 예제: 루트 낙관적 오프라인 잠금(441)(자바)
암시적 잠금
- 작동 원리
- 사용 시점
- 예제: 암시적인 비관적 오프라인 잠금(452)(자바)
▣ 17장: 세션 상태 패턴
클라이언트 세션 상태
- 작동 원리
- 사용 시점
서버 세션 상태
- 작동 원리
- 사용 시점
데이터베이스 세션 상태
- 작동 원리
- 사용 시점
▣ 18장: 기본 패턴
게이트웨이
- 작동 원리
- 사용 시점
- 예제: 특정 메시징 서비스에 대한 게이트웨이(자바)
매퍼
- 작동 원리
- 사용 시점
계층 상위 형식
- 작동 원리
- 사용 시점
- 예제: 도메인 객체(자바)
분리 인터페이스
- 작동 원리
- 사용 시점
레지스트리
- 작동 원리
- 사용 시점
- 예제: 싱글턴 레지스트리(자바)
- 예제: 스레드로부터 안전한 레지스트리(자바)
값 객체
- 작동 원리
- 사용 시점
금액
- 작동 원리
- 사용 시점
- 예제: 금액 클래스(자바)
특수 사례
- 작동 원리
- 사용 시점
- 참고 자료
- 예제: 간단한 null 객체(C#)
플러그인
- 작동 원리
- 사용 시점
- 예제: ID 생성기(자바)
서비스 스텁
- 작동 원리
- 사용 시점
- 예제: 소비세 서비스(자바)
레코드 집합
- 작동 원리
- 사용 시점