현실을 넘어
close
프로필 배경
프로필 로고

현실을 넘어

  • 분류 전체보기
    • 자바
      • 일반
      • 알고리즘
      • 객사오
      • 스프링입문객체지향
      • 리팩토링
      • 스프링부트3
      • JPA
      • QueryDsl
      • Spring Security
    • 코틀린
      • 코틀린인액션
      • 알고리즘
    • 일 관련 삽질
    • JIRA
    • 도메인주도개발
    • DB
      • Mysql
    • MQ
      • Apache Kafka
    • Docker-Kubernetes
    • GITHUB
    • REST API
    • 리눅스
  • 홈
  • 태그
  • 방명록

Image 생성 관련 최적화

@Entity @Table (name = "product") public class Product { @Embedded Id private ProductId id; private String name; @Convert (converter = MoneyConverter.class) private Money price; private String detail; @OneToMany ( cascade = {CascadeType.PERSIST, CascadeType.REMOVE}, orphanRemoval = true) @JoinColumn (name = "product_id") @Order Column (name = "list_idx") private List images = new ArrayList(); pu..

  • format_list_bulleted 도메인주도개발
  • · 2024. 1. 5.
  • textsms

애그리거트?

애그리거트애그리거트는 관련된 객체를 하나의 그룹으로 묶어주는 단위주문(루트 애그리거트)주문서주문자주문배송정보이를 통해 복잡한 도메인 모델을 상위 수준에서 쉽게 이해하고 관리가 가능해진다.개별 객체와 상위 수준의 모델의 관계성상세 모델의 복잡성의 문제개별 객체 단위로 모델을 바라보면, 상위 수준에서의 관계를 파악하기 어려워진다.이는 코드 변경과 확장을 어렵게 만들며, 전체 모델을 이해하지 못한 상태에서의 코드 수정은 장기적으로 문제를 야기할 수 있습니다.예를 들어, 상위 수준에서 도메인 모델을 정리할 수 있다면, 주요 엔티티 간의 관계를 쉽게 파악할 수 있다.주문은회원, 상품, 결제와 관련이 있다는 것을 상위 수준의 모델에서 확인할 수 있다.애그리거트의 생애주기객체의 라이프사이클한 애그리거트에 속한 객체들..

  • format_list_bulleted 도메인주도개발
  • · 2024. 1. 2.
  • textsms

애그리거트 간의 참조

직접 참조의 문제점편한 탐색 요용한 애그리거트 내부에서 다른 애그리거트에 접근하여 상태를 변경할 수 있게,애그리거트의 경계가 모호해지고 의존성이 증가한다.성능적 고민JPA 사용하는 경우 지연 로딩과 즉시 로딩 중 어떤 것을 사용할지 결정해야한다.애그리거트의 기능에 따라 달라짐.확장성의 문제시스템이 성장하면서 하위 도메인별로 분리하고,다양한 저장소를 사용하게됨.public class Order { private Orderer orderer; public void changeShippingInfo(ShippingInfo newShippingInfo, boolean useNewShippingAddrAsMemberAddr) { if (useNewShippingAddrAsMemberAddr) { orderer.g..

  • format_list_bulleted 도메인주도개발
  • · 2024. 1. 2.
  • textsms

애그리거트를 팩토리를 사용하기

상황고객이 특정 상점을 여러 차례 신고하여 차단된 상태에서상점이 물건을 등록하지 못하도록 하는 상황을 가정상품 등록 기능을 구현한 응용 서비스는 상점 계정이 차단 상태가 아닐 때만 상품을 생성할 수 있다.기존 응용 서비스 코드 예시public class RegisterProductService { public ProductId registerNewProduct(NewProductRequest req) { Store store = storeRepository.findById(req.getStoreId()); checkNull(store); if (store.isBlocked()) { throw new StoreBlockedException(); } ProductId id = productRepository..

  • format_list_bulleted 도메인주도개발
  • · 2024. 1. 2.
  • textsms

도메인 전문가와 개발자 간 지식 공유

개발자의 역할과 전략심층적인 이해개발자는 단순히 요구사항을 코드로 변환하는 것을 넘어왜 그런 요구가 있는지, 실제 필요와 문제를 파악할 수 있어야한다대안 제시의 중요성가능한 대안을 제시하고, 어 효율적인 해결책을 찾을 수 있어야 한다지속적 검증과 조정개발 과정에서 정기적으로 요구사항을 검토하고필요한 경우 조정하여 오해나 잘못된 방향으로 개발 방지해야함 Uploaded by N2T

  • format_list_bulleted 도메인주도개발
  • · 2023. 12. 30.
  • textsms

도메인 모델

도메인 모델의 정의개념적 표현도메인의 주요 구성 요소, 기능 , 관계 등을 포괄적으로 이해하기 위한 모델주문 도메인 모델 예시객체 모델 구성 요소객체를 모델링하는 부분에서 유리함상태 다이어그램 이용한 주문 상태 모델링관계가 중요한 도메인인 경우 그래프로 도메인을 모델링이 가능하다.계산 규칙이 중요하다면 수학 공식을 활용해서 도메인 모델을 만들 수 있음.표현방식은 도메인을 이해할 수만 있으면 어떤 것이든 상관없다. Uploaded by N2T

  • format_list_bulleted 도메인주도개발
  • · 2023. 12. 30.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • navigate_next
공지사항
  • ㅇ
전체 카테고리
  • 분류 전체보기
    • 자바
      • 일반
      • 알고리즘
      • 객사오
      • 스프링입문객체지향
      • 리팩토링
      • 스프링부트3
      • JPA
      • QueryDsl
      • Spring Security
    • 코틀린
      • 코틀린인액션
      • 알고리즘
    • 일 관련 삽질
    • JIRA
    • 도메인주도개발
    • DB
      • Mysql
    • MQ
      • Apache Kafka
    • Docker-Kubernetes
    • GITHUB
    • REST API
    • 리눅스
최근 글
인기 글
최근 댓글
태그
  • #도메인주도개발
  • #QueryDSL
  • #객사오
  • #자바
  • #객체지향
  • #ddd
  • #JPA
  • #알고리즘
  • #Kotlin
  • #리팩토링
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바