2014-09-18 4 views
0

어니언 아키텍처로 DDD를 배우려고하는데 문제가 있습니다.
내 응용 프로그램은 레이블, 열거 형, 유효성 검사 메시지 및 일부 엔터티의 일부 데이터에서 지역화를 지원해야합니다. 예를 들어 Item.ItemName는)
그래서, 현지화 과정도 캐싱
지금 내가이 LocalizationService 클래스는 어니언 아키텍처와 함께 DDD에 있어야합니다

+0

도움이 필요하십니까? 이 문제는 나에게 너무 혼란 스럽다. – Mahdy

답변

0

나는이 클래스를 넣어해야하는 위치 혼란 스러워요을 지원해야 도메인과 UI
그리고이 현지화 서비스에 관련이 있음을 분명 DDD 방식으로 현지화하지는 않았지만 최선을 다해 도와 드리겠습니다.

로컬 리 제이션은 프리젠 테이션 데이터의 문제이며, 유일한 목적이 프리젠 테이션 인 경우 로컬 모델이 걱정해야한다고 생각하지 않습니다. 어떻게 처리할까요?

이렇게하면됩니다.

고객이 신제품을 만들고 있다고 가정 해 보겠습니다. 물론 그는 그 이름을 정의해야합니다. 모든 제품 이름을 다른 언어로 번역하고자합니다.

  • 관리자 패널을
  • 클라이언트가이

의 모든

  • 사전
  • 혼합 새로운 제품을 만드는 동안을 제공 할 수있는 모든 제품에 대한 : 그것은 당신이 그것을 할 방법 당신의 선택이다 등등. 그것은 정말로 중요하지 않습니다.

    따라서 createNewProduct보기에서 신제품을 생성하는 제품 서비스를 호출하고 해당 제품에 대한 번역을 만들지 만 도메인 엔티티에 번역을 저장하지 않는 서비스를 호출해야합니다. 즉, 비즈니스 논리를 처리하고 번역을 작성하기 위해 서비스를 분리해야합니다. 제시 할 때 productId로 연결하십시오.

  • +0

    그래서, 당신은 엔티티 데이터를 두 위치에서로드해야한다고 말합니다. 하나는 엔티티 데이터를 지역화 할 수있는 속성을 제외한 전체 엔티티를로드하는 도메인에서 가져와야하며, 다른 위치는 응용 프로그램 서비스에서 지역화 가능 속성, 내가 맞습니까? – Mahdy

    +0

    예, 애플리케이션 서비스가 아니라 인프라 계층에있을 수 있습니다. 성능 문제가 발생하면 CQRS 접근 방식을 사용해야합니다. –