어니언 아키텍처로 DDD를 배우려고하는데 문제가 있습니다.
내 응용 프로그램은 레이블, 열거 형, 유효성 검사 메시지 및 일부 엔터티의 일부 데이터에서 지역화를 지원해야합니다. 예를 들어 Item.ItemName는)
그래서, 현지화 과정도 캐싱
지금 내가이 LocalizationService 클래스는 어니언 아키텍처와 함께 DDD에 있어야합니다
답변
나는이 클래스를 넣어해야하는 위치 혼란 스러워요을 지원해야 도메인과 UI
그리고이 현지화 서비스에 관련이 있음을 분명 DDD 방식으로 현지화하지는 않았지만 최선을 다해 도와 드리겠습니다.
로컬 리 제이션은 프리젠 테이션 데이터의 문제이며, 유일한 목적이 프리젠 테이션 인 경우 로컬 모델이 걱정해야한다고 생각하지 않습니다. 어떻게 처리할까요?
이렇게하면됩니다.
고객이 신제품을 만들고 있다고 가정 해 보겠습니다. 물론 그는 그 이름을 정의해야합니다. 모든 제품 이름을 다른 언어로 번역하고자합니다.
- 관리자 패널을
- 클라이언트가이
의 모든
따라서 createNewProduct
보기에서 신제품을 생성하는 제품 서비스를 호출하고 해당 제품에 대한 번역을 만들지 만 도메인 엔티티에 번역을 저장하지 않는 서비스를 호출해야합니다. 즉, 비즈니스 논리를 처리하고 번역을 작성하기 위해 서비스를 분리해야합니다. 제시 할 때 productId로 연결하십시오.
그래서, 당신은 엔티티 데이터를 두 위치에서로드해야한다고 말합니다. 하나는 엔티티 데이터를 지역화 할 수있는 속성을 제외한 전체 엔티티를로드하는 도메인에서 가져와야하며, 다른 위치는 응용 프로그램 서비스에서 지역화 가능 속성, 내가 맞습니까? – Mahdy
예, 애플리케이션 서비스가 아니라 인프라 계층에있을 수 있습니다. 성능 문제가 발생하면 CQRS 접근 방식을 사용해야합니다. –
도움이 필요하십니까? 이 문제는 나에게 너무 혼란 스럽다. – Mahdy