POEAA : 데이터 원본 아키텍처 패턴

테이블 데이터 게이트웨이

데이터베이스 테이블에 대한 게이트웨이의 역할을 하는 객체. 한 인스턴스가 테이블의 모든 행을 처리한다.

테이블 데이터 게이트웨이

테이블 데이터 게이트웨이

그림 : 데이터 집합 기반 게이트웨이와 지원 데이터 홀더의 클래스 다이어그램

행 데이터 게이트웨이

데이터 원본의 단일 레코드에 대한 게이트웨이 역할을 하는 객체. 행마다 인스턴스 하나가 사용된다.

행 데이터 게이트웨이

활성 레코드와 차이는 도메인 논리가 포함되어 있으면 활설레코드이며, 없으면 행 데이터 게이트웨이이다.

활성 레코드

데이터베이스 테이블이나 뷰의 행을 래핑하고, 데이터베이스 접근을 캡슐화하며, 해당 데이터에 대한 도메인 논리를 추가하는 객체

합성 레코드

테이블 모듈에 어울림

풍부한 객체지향적 도메인 모델(상속, 확장 등)에는 어울리지 않는다. 데이터 매퍼가 어울림

데이터 매퍼

객체와 데이터베이스 사이에서 둘 사이는 물론 매퍼 자체에 대한 독립성을 유지하면서 데이터를 옮기는 매퍼의 한 계층

데이터 매퍼

  • 식별자 맵, 레지스트리
  • 분리 인터페이스
  • 풍부한 생성자
  • 메타데이터 매핑

도메인 모델에 어울림

MJ

MJ
Backend 개발자 사람입니다. 어플리케이션의 복잡성을 다루는 DDD에 관심이 많습니다. 어제보다 더 나은 개발자가 되려고 항상 노력합니다.

spring boot 2.4.x 에서 openfeign + hystrix 통합하기

spring-boot 2.4.x spring-cloud 2020.x 의존성 상황에서 feign.hystrix.enabled=true가 안됨`feign.circuitbreaker.enabled=true` 로 바꿔보지만 openfeign과 hystr...… Continue reading

IDDD 14장. 애플리케이션

Published on June 19, 2018