2013-04-11 3 views
3

서비스 계층의 디자인 개념 개념 인 응용 프로그램 서비스와 도메인 서비스를 중심으로 내 머리를 감싸려고합니다. 거의 모든 예제는 데이터베이스가있는 CRUD 응용 프로그램과 관련이 있습니다. 이 개념이 .NET 응용 프로그램/C#에서 개발 된 Microsoft Paint의 복제본 인이 예제에서 선택한 예제 응용 프로그램과 같은 그래픽 응용 프로그램에 매핑되는 방식을 이해하는 데 어려움이 있습니다.그래픽 기반 응용 프로그램을위한 도메인 서비스 및 응용 프로그램 서비스

나는 basic concept of a service layer in DDDexpanded explanation을 읽었습니다. I는 다음의 애플리케이션 계층을 선택했다 :

인프라 (단면 가공)

  • 로깅

데이터 (파일 시스템)

  • 등 BitmapImage, PngImage,

도메인

  • 캔버스, 이미지, 선택, 모양, 브러쉬 등

응용 프로그램

프리젠 테이션 (로컬 클라이언트 WPF)

  • 조회수
  • ViewModels

하나의 유스 케이스는 캔버스에 직사각형을 그리는 사용자를 디자인하려고합니다. From what I've read은 여러 도메인 객체의 협력을 필요로하기 때문에 도메인 서비스 인 DrawingService가 적합합니다.

또 다른 사용 사례는 사용자가 표시 할 파일을로드하는 경우입니다. 다시 말하면 from what I've read입니다.이 사용 사례는 명령 및 워크 플로이므로 응용 프로그램 서비스 FileLoadingService가 적합합니다.

As Martin Fowler describes, 나는 마이크로 소프트 페인트가 여기 주제별 행동을 기반으로하는 서비스 하위 시스템을 보증하기에 충분히 복잡하다고 믿습니다. 그러나, 애플리케이션이 커짐에 따라, 서비스 계층은 도메인 모델의 파티션들에 빠지도록 리팩토링 될 수있다. CanvasService, SelectionService 등등. 추상화의 또 다른 계층 인 perhaps an application facade을 필요로했을까요? 이제 여러 서비스가 협력해야합니까?

업데이트 1 :

초기 코멘트 DDD 아키텍처는 그리기 응용 프로그램에 적합하지 않은 제안한다. 대안에 대한 제안?

+4

imho 그림 응용 프로그램은 DDD에 적합하지 않습니다. 그것은 다른 것을 사용할 것입니다. – jgauffin

+2

나는 동의 할 것이다. 드로잉은 잘 이해되고 모델링 된 도메인이며 DDD 전술 도구를이 도메인에 적용하려고 할 이유가 없습니다.그렇게하면 마찰이 생길 것이다. 가장 큰 이유는 대부분의 DDD 도구가 클라이언트 - 서버 아키텍처, 복잡한 지속성 방법론, 그리기 프로그램과 관련이없는 것을 목표로하고 있기 때문입니다. – eulerfx

+1

대부분의 경우 도메인 전문가가 필요하지 않으면 DDD가 필요하지 않습니다. –

답변

0

imho 그림 응용 프로그램은 DDD에 적합하지 않습니다. 그것은 다른 것을 사용할 것입니다

관련 문제