목차
패러다임의 변화 ... 14
   도메인 모델(Domain Model) ... 20
      도메인(domain) ... 20
      도메인 모델(domain model) ... 20
      object vs. table ... 23
      도메인 모델의 장/단점 ... 25
      Emp, Dept 도메인 객체 ... 25
      도메인 객체를 이용하는 클라이언트 ... 29
      O-R(Object-Relational) Mapping ... 31
도메인 객체 로딩 ... 33
   구조적 프로그래밍 vs. 객체지향 프로그래밍 ... 33
   연관관계 객체의 로딩(JOIN) ... 39
      도메인 객체의 equals() 메소드 ... 44
      Mapper(Data Access Object) ... 46
      DomainKey 클래스 ... 56
      DomainObject 클래스 ... 60
      DBMapper ... 65
      객체는 유일해야 한다 ... 81
      트랜잭션 ... 90
      트랜잭션 관리와 객체 Pool ... 99
      1:N 관계 로딩 ... 108
      AssociationLoader ... 121
      JOIN 로딩의 문제점 ... 134
      JOIN 로딩 정리 ... 137
   연관관계 객체의 로딩(CASCADE) ... 139
   연관관계 객체의 로딩(Lazy 로딩) ... 145
      VirtualList ... 150
      1:1 관계에서의 lazy load ... 155
객체 대 테이블 매핑 ... 157
   기본 매핑 ... 159
      하나의 테이블로 매핑(Single Table) ... 159
      FK를 이용한 매핑 ... 160
   상속관계매핑 ... 163
      모든 클래스를 하나의 테이블(One table for all classes) ... 164
      하나의 클래스에 하나의 테이블(One table for one class) ... 171
      하나의 구체화된 클래스에 하나의 테이블(One table for one concrete class) ... 173
   연관관계매핑 ... 174
      FK를 이용하여 매핑 ... 174
      연관관계 테이블 이용 매핑 ... 175
게시판 로딩 구현 ... 177
   답변형 게시판 설계내용 ... 178
   객체-테이블 매핑 ... 180
   개발 환경 구성 ... 181
   구현을 위한 클래스 다이어그램 ... 184
   User, Board ... 185
   Article, ArticleFile ... 188
   상속 관계의 Mapper ... 196
   Article → User 관계 설정 ... 202
   Article → ArticleFile 관계 설정 ... 203
   TopArticle → Board 관계 설정 ... 205
   ReplyArticle → Article 관계 설정 ... 206
   게시글 목록조회 ... 209
   게시글 상세조회 ... 219
객체의 저장 ... 226
   객체의 트랜잭션 처리 ... 227
   객체의 생성 ... 299
      트랜잭션 Pooi ... 232
   트랜잭션의 시작/종료/오류 ... 237
      TxAdapter ... 246
      DBMapper의 insert 기능 ... 253
      TxManager의 트랜잭션 종료 처리 ... 264
   객체의 수정 ... 267
      Dirty flag ... 272
      수정 기능 추가의 편의성 ... 278
      1:1 연관관계 수정(Emp → Dept) ... 279
      1:N 연관관계 수정(Dept → Emp) ... 280
      AssociationaMapper을 이용한 연관관계 Update 처리 ... 283
      DomainList ... 290
      AssociationList ... 294
      1:N 연관관계에서의 객체 생성(Dept → Emp에서 Emp 생성) ... 303
      1:N 연관관계에서의 객체 생성(Dept → Emp에서 Dept 생성) ... 307
      VirtualList ... 310
   객체의 삭제 ... 317
   N:N 관계에서의 연관관계 저장 ... 325
   양방향 관계에서의 수정/삭제 처리 ... 328
   저장소가 DBMS가 아닌 경우 Persistency 계층 구성(SAP/R3) ... 330
게시판 적용 ... 335
   객체의 로딩 ... 335
   게시글 등록 ... 342
   게시글 수정 ... 352
   게시글 삭제 ... 358
도메인 모델을 이용한 컴포넌트 개발 ... 362
   컴포넌트란? ... 362
      재사용성 ... 364
      대체가능성 ... 365
      독립기능성 ... 366
      구현 관점에서의 컴포넌트 ... 366
   CBD 방법론 ... 368
   컴포넌트 개발 ... 369
      컴포넌트 식별 ... 372
      컴포넌트 인터페이스 정의 ... 374
      컴포넌트 설계 ... 380
      애플리케이션 설계 ... 385
      EJB 컴포넌트 ... 387
      컴포넌트 운영 환경(CEE, Component Execution Environment) ... 390
      Runtime Object Type Binding ... 391
      Deployment Descriptor ... 396
      컴포넌트 구현 ... 401
      화면 계층은 컴포넌트 내부인가? 외부인가? ... 409
      컴포넌트에서의 성능문제 ... 412
      다른 컴포넌트로 대체 ... 418
      컴포넌트의 테스트 ... 420
      컴포넌트 패키징 ... 421
   컴포넌트 내부 구현 ... 422
프리젠테이션 계층 ... 429
   JSP Model2(MVC 패턴) ... 429
   Struts ... 434
      Struts Model ... 436
      Struts View ... 437
   JSP Model2 프레임워크 만들기 ... 438
      FrontController 구현 ... 438
      Action 구현 ... 441
      JSP Model2의 문제 ... 444
   소스 생성 도구의 사용 ... 453
컴포넌트 제작 사례 ... 456
   ACL 관리(Access Control List) 컴포넌트 ... 457
      도메인 분석 ... 457
      설계 ... 460
      O-R 매핑 ... 462
      구현 ... 463
      다른 시스템에 적용하기 ... 471
      WebServices로 전환하기 ... 473
부록 ... 492
글을 마치며 ... 509
Reference ... 510
닫기