JAVA EE 디자인 패턴
개발자에게 패턴이 기본이라면
실무에 적용된 진짜를 봐야 한다
자바 개발자라면 디자인 패턴은 반드시 알아야 한다. 자바 EE 7에는 싱글톤, 팩토리, 장식자, 옵저버, 퍼사드 같은 GoF의 클래식 패턴은 물론 모델-뷰-컨트롤러(MVC), 의존성 주입, 데이터 접근 객체(DAO), 데이터 전송 객체(DTO) 같은 다양한 패턴이 포함되어 있다. 옛 버전 자바 EE와 스프링을 거쳐 현대적으로 다듬어진 자바 EE 7에 포함된 다양한 패턴을 학습하면서 실무에 적용된 디자인 패턴의 모습을 엿볼 수 있다.
이 책의 목적은 유명한 GoF 패턴 책에 나온 고전 디자인 패턴을 설명하고 이들을 최신 자바 EE 6, 7에 맞게 업데이트하는 것이다. 각 장마다 한 패턴씩 옛 방식으로 구현한 다음 자바 EE로 구현하는 방법을 설명한다. 두 가지 방법으로 구현한 예제 코드를 모두 수록했고 저자의 체험담을 통해 패턴을 이용(또는 오용)하는 실제 사례를 들려준다. 각 장 패턴마다 찬성/반대 의견과 용례를 살펴보고 패턴 이해도를 점검하는 연습 문제로 마무리 할 수 있다.
1장 디자인 패턴이란?
__1.1 디자인 패턴이란?
____1.1.1 패턴의 유래와 필요성
____1.1.2 패턴의 실제
__1.2 디자인 패턴 입문
__1.3 엔터프라이즈 패턴
____1.3.1 자바에서 엔터프라이즈 자바로
____1.3.2 엔터프라이즈 자바 패턴의 출현
____1.3.3 디자인 패턴과 엔터프라이즈 패턴의 차이점
____1.3.4 평범한 옛 디자인 패턴이 자바 EE를 만나다
____1.3.5 안티패턴이 되다
__1.4 정리하기
2장 자바 EE 기초
__2.1 다중 티어 아키텍처
__2.2 클라이언트 티어
__2.3 미들 티어
____2.3.1 웹 레이어
____2.3.2 비즈니스 레이어
__2.4 EIS 티어
__2.5 자바 EE 서버
__2.6 자바 EE 웹 프로파일
__2.7 자바 EE 핵심 원리
__2.8 설정보다 관례
__2.9 컨텍스트와 의존체 주입
__2.11 정리하기
2부 자바 EE 디자인 패턴 구현
3장 퍼사드 패턴
__3.1 퍼사드란?
____3.1.1 퍼사드 클래스 다이어그램
__3.2 일반 자바 코드로 퍼사드 패턴을 구현
__3.3 자바 EE로 퍼사드 패턴을 구현
____3.3.1 무상태성 빈을 지닌 퍼사드
____3.3.2 상태성 빈을 지닌 퍼사드
__3.4 언제, 어디에 사용하나?
__3.5 정리하기
4장 싱글톤 패턴
__4.1 싱글톤이란?
____4.1.1 싱글톤 클래스 다이어그램
____4.1.2 일반 자바 코드로 싱글톤 패턴을 구현
__4.2 자바 EE로 싱글톤 패턴을 구현
____4.2.1 싱글톤 빈
____4.2.2 시동 시 싱글톤을 사용
____4.2.3 시동 순서를 결정
____4.2.4 동시성 관리
__4.3 언제, 어디에 사용하나?
__4.4 정리하기
5장 의존체 주입과 CDI
__5.1 의존체 주입이란?
__5.2 일반 자바 코드로 DI를 구현
__5.3 자바 EE로 DI를 구현
____5.3.1 @Named 애너테이션
____5.3.2 컨텍스트/의존체 주입(CDI)
____5.3.3 CDI 대 EJB
____5.3.4 CDI 빈
____5.3.5 @Inject 애너테이션
____5.3.6 컨텍스트와 스코프
____5.3.7 명명법과 EL
____5.3.8 CDI 빈은 JSF의 기반 빈
____5.3.9 한정자
____5.3.10 대안자
____5.3.11 스테레오타입
____5.3.12 CDI로 움직이는 패턴들
__5.4 정리하기
6장 팩토리 패턴
__6.1 팩토리란?
__6.2 팩토리 메서드
____6.2.1 일반 자바 코드로 팩토리 메서드를 구현
__6.3 추상 팩토리
____6.3.1 일반 자바 코드로 추상 팩토리를 구현
__6.4 자바 EE로 팩토리 패턴을 구현
____6.4.1 CDI의 진면목
__6.5 언제, 어디에 사용하나?
__6.6 정리하기
7장 장식자 패턴
__7.1 장식자란?
____7.1.1 장식자 클래스 다이어그램
__7.2 일반 자바 코드로 장식자 패턴을 구현
__7.3 자바 EE로 장식자 패턴을 구현
____7.3.1 XML 설정 없는 장식자
__7.4 언제, 어디에 사용하나?
__7.5 정리하기
8장 애스팩트지향 프로그래밍(인터셉터)
__8.1 애스팩트 지향 프로그래밍이란?
__8.2 일반 자바 코드로 AOP를 구현
__8.3 자바 EE의 애스팩트, 인터셉터
____8.3.1 인터셉터의 생애 주기
____8.3.2 기본-레벨 인터셉터
____8.3.3 인터셉터 순서
____8.3.4 CDI 인터셉터
__8.4 언제, 어디에 사용하나?
__8.5 정리하기
9장 비동기
__9.1 비동기 프로그래밍이란?
____9.1.1 비동기 패턴
__9.2 일반 자바 코드로 비동기 패턴을 구현
__9.3 자바 EE로 비동기 프로그래밍을 구현
____9.3.1 비동기 빈
____9.3.2 비동기 서블릿
__9.4 언제, 어디에 사용하나?
__9.5 정리하기
10장 타이머 서비스
__10.1 타이머 서비스란?
__10.2 자바 EE로 타이머를 구현
____10.2.1 자동 타이머
____10.2.2 프로그램 타이머
____10.2.3 타이머 표현식
____10.2.4 트랜잭션
__10.3 정리하기
11장 옵저버 패턴
__11.1 옵저버란?
____11.1.1 옵저버 패턴
____11.1.2 옵저버 클래스 다이어그램
__11.2 일반 자바 코드로 옵저버 패턴을 구현
__11.3 자바 EE로 옵저버 패턴을 구현
__11.4 언제, 어디에 사용하나?
__11.5 정리하기
12장 데이터 접근 패턴
__12.1 데이터 접근 패턴이란?
____12.1.1 데이터 접근 클래스 다이어그램
__12.2 데이터 접근 패턴 개요
____12.2.1 데이터 전송 객체 패턴
____12.2.2 자바 퍼시스턴스 아키텍처 API와 객체 관계 매핑
__12.3 자바 EE로 데이터 접근 패턴을 구현
____12.3.1 타입-안전한 DAO 구현체
__12.4 언제, 어디에 사용하나?
__12.5 정리하기
13장 REST형 웹 서비스
__13.1 REST란?
__13.2 REST의 6대 제약
____13.2.1 클라이언트-서버
____13.2.2 일관된 인터페이스
____13.2.3 무상태
____13.2.4 캐시 가능
____13.2.5 계층화 시스템
____13.2.6 코드 온 디맨드
__13.3 REST API의 리처드슨 성숙도
____13.3.1 레벨 0: POX(Plain Old XML, 옛날 흔했던 XML) 범벅
____13.3.2 레벨 1: 리소스
____13.3.3 레벨 2: HTTP 동사
____13.3.4 레벨 3: 하이퍼미디어 제어
__13.4 REST형 API 디자인
____13.4.1 리소스 명명
____13.4.2 동사가 아닌 명사로
____13.4.3 자기 서술형으로
____13.4.4 단수 아닌 복수형으로
____13.4.5 HTTP 메서드
____13.4.6 GET
____13.4.7 POST
____13.4.8 PUT
____13.4.9 DELETE
__13.5 실전 REST
____13.5.1 명사 users
____13.5.2 명사 topics와 posts
__13.6 자바 EE로 REST를 구현
__13.7 HATEOAS
__13.8 언제, 어디에 사용하나?
__13.9 정리하기
14장 MVC 패턴
__14.1 MVC 패턴이란?
____14.1.1 MVC 타입
__14.2 일반 자바 코드로 MVC 패턴을 구현
__14.3 자바 EE로 MVC 패턴을 구현
__14.4 페이스 서블릿
__14.5 FACESSERVLET을 응용한 MVC
__14.5 언제, 어디에 사용하나?
__14.6 정리하기
15장 나머지 자바 EE 패턴
__15.1 웹소켓이란?
__15.2 메시지 중심 미들웨어란?
__15.3 마이크로서비스 아키텍처란?
____15.3.1 모놀리식 아키텍처
____15.3.2 확장성
____15.3.3 여러 서비스로 해체
____15.3.4 마이크로서비스의 좋은 점
____15.3.5 인생에 쉬운 게 있나요
____15.3.6 결론
__15.4 안티패턴
____15.4.1 우버 클래스
____15.4.2 라자냐 아키텍처
____15.4.3 콜롬버스
____15.4.4 진짜 도움되는 친구
____15.4.5 첨단이 최고야
____15.4.6 유틸리티맨
3부 총정리
16장 디자인 패턴의 좋은 점, 나쁜 점, 고약한 점
__16.1 좋은 점: 성공을 향한 패턴
__16.2 나쁜 점: 패턴의 과용 및 오용
__16.3 …그리고 고약한 점
__16.4 정리하기
무라트 예네르,알렉스 시돔 공저 저자가 집필한 등록된 컨텐츠가 없습니다.