본문 바로가기

Dev.../소프트웨어 아키텍처

[SA강좌] Part 4-8 Table Module 패턴

테이블 모듈(Table Module) 패턴

테이블 모듈 패턴의 정의

데이터베이스 테이블 또는 뷰에 있는 모든 행에 대한 비즈니스 로직을 다루기 위한 단일 인스턴스 패턴이다.

그림 -11. 테이블 모듈 패턴의 구조

테이블 모듈 패턴의 설명

테이블 모듈 패턴은 데이터베이스에 있는 테이블 마다 하나의 클래스에 대응하는 도메인 로직을 구성한다. 또한, 클래스의 단일 인스턴스는 데이터에 행동 할 수 있는 다양한 프로시저를 포한한다. 도메인 모듈 패턴과 비교되는 주요한 구분은 만일 많은 주문에 대한 처리를 원하는 경우 도메인 모듈 패턴은 주문 마다 하나의 주문 개체를 가지게 된다. 반면, 테이블 모듈 패턴은 모든 주문을 처리하기 위해 하나의 개체만을 가진다.

언제 이 패턴을 사용하는가?

테이블 모듈 패턴은 매우 테이블 지향 데이터에 기반한다. 그러므로, 레코드 집합 패턴을 사용하는 데이터 집합의 접근을 할 때 유용하다.

그러나, 테이블 모듈 패턴은 복잡한 로직을 구조화하는 개체들의 모든 능력을 제공하지는 않는다. 인스턴스 대 인스턴스 관계를 직접적으로 가지 않고, 다향성은 잘 작업되지 않는다. 이러한 이유로 복잡한 도메인 로직을 처리하기 위해서는 도메인 모델 패턴이 더 좋은 선택이 된다.

만일 도메인 모델 패턴에 있는 개체와 데이터베이스 테이블이 관계적으로 유사하면, 활동 레코드 패턴을 사용하는 도메인 모델 패턴을 사용하는 것이 좋다. 테이블 모듈 패턴은 도메인 모델 패턴과 활동 레코드 패턴을 사용하는 도메인 모델 패턴 보다 더 잘 작업한다.