도메인 모델 패턴과 트랜잭션 스크립트 패턴 비교

song yuheon·2023년 10월 10일
0

Java

목록 보기
41/46
post-thumbnail

도메인 모델 패턴과 트랜잭션 스크립트 패턴이란?


도메인 모델 패턴과 트랜잭션 스크립트 패턴은 엔터프라이즈 애플리케이션 아키텍처에서 자주 사용되는 두 가지 중요한 패턴이다.
둘 다 비즈니스 로직을 처리하는 방식에 관한 패턴이지만 그 방법과 사용 사례에는 명확한 차이점이 있다.

엔터 프라이즈 애플리케이션 아키텍처란?

큰 규모의 기업에서 사용하는 애플리케이션을 설계 및 구현 할때 고려해야 하는 기본 원칙이나 패턴, 기술 등이다.

  • 주요 특징
  1. 다양한 시스템 통합
    대규모 조직에서 여러 시스템과 애플리케이션을 운영하여야 하기에 시스템들 사이에 원할한 통신과 데이터 교환을 지원해야한다.

  2. 확장성
    엔터프라이즈 애플리케이션은 사용자 수나 데이터 양이 증가함에 따라 쉽게 확장 될 수 있어야한다.

  3. 보안
    기업 데이터와 트랜잭션은 매우 민감할 수 있으므로 고급 보안 기능이 필수적이다.

  4. 성능
    대규모 사용자와 거래를 처리하기 위해 높은 성능이 요구된다.

  5. 유지 보수성
    시간이 지나면서 비즈니스 요구사항이나 기술 환경이 변할 수 있으니 시스템은 변경이나 추가 개발을 쉽게 수용할 수 있어야한다.


1. 도메인 모델 패턴


  • 정의
    도메인 모델 패턴에서는 비즈니스 로직이 도메인 객체 (Entity) 내에 포함되어 있다.
    객체 지향 프로그래밍의 원칙을 따라 엔터프라이즈 애플리케이션의 비즈니스 로직을 표현하는 데에 중점을 둔다.

  • 장점

    • 복잡한 비즈니스 로직을 처리하기에 적합하다.
    • 객체 간의 관계와 도메인 로직이 모델 내에서 명확하게 표현된다.
    • 재사용성이 높다.
  • 단점

    • 초기 설계에 시간이 많이 소요될 수 있다.
    • 복잡한 애플리케이션에서는 관련 객체와 관계가 복잡해질 수 있다.
@Entity
@Getter
@Setter
@NoArgsConstructor(access = AccessLevel.PROTECTED) // 생성 메서드를 사용하도록 제한
public class EntitySample {
	/**
    * Entity 요소
    */

    /**
     * 연관 관계 메서드
     */
 

    /**
     * 비즈니스 로직
     */


    /**
     * 조회 로직
     */
}

2. 트랜잭션 스크립트 패턴


  • 정의
    트랜잭션 스크립트 패턴에서는 각 트랜잭션마다 하나의 스크립트가 처리한다.
    비즈니스 로직은 절차적인 방식으로 처리되며 간단한 CRUD 작업에 주로 사용된다.

  • 장점

    • 간단한 비즈니스 로직에 대해 빠르고 직관적으로 구현할 수 있다.
    • 학습 곡선이 낮다.
  • 단점

    • 비즈니스 로직이 복잡해질수록 관리하기 어려워진다.
    • 재사용성이 낮다. 같은 로직이 여러 스크립트에서 중복될 수 있다.
    • 객체 지향적인 방법론을 완전히 활용하기 어렵다.

비교


도메인 모델 패턴은 복잡한 비즈니스 로직과 객체 지향적인 설계 방법론을 적극적으로 활용할 때 주로 사용된다.
반면 트랜잭션 스크립트 패턴은 간단한 비즈니스 로직을 처리할 때 빠르게 결과를 얻을 수 있다.


정리


정리하자면 애플리케이션의 요구 사항, 복잡도, 팀의 경험 등 다양한 요소를 고려하여 적절한 패턴을 선택해야 한다.
간단한 애플리케이션에서는 트랜잭션 스크립트 패턴이 효율적일 수 있지만 복잡한 비즈니스 로직과 확장성을 고려해야 하는 큰 프로젝트에서는 도메인 모델 패턴을 사용하는 것이 좋을 수 있다고 한다.


profile
backend_Devloper

0개의 댓글