문제

나는 최근에 클라이언트 코드가 관련된 카펫 아래에서 지속성의 모든 세부 사항을 솔질하는 방법으로 저장소 패턴을보고 있습니다. 그 주위를 읽는 동안 저장소는 단순한 클래스가 아닌 집계에 대한 책임이있을 수 있습니다.

이것은 당신이 수업을 정의 할 수 있으므로 나에게 의미가 있습니다. 게시물 그리고 또 다른 정의 코멘트. 이는 두 가지가 매우 밀접하게 관련되어 있기 때문에 집계에 이상적인 후보를 만듭니다. 그러나 어떻게 표현합니까? 사용자 수업과 그와의 관계 게시물?

사용자를 집계하는 것이 합리적입니까? 게시물/댓글 집계 또는 유지 사용자 그 자체로는 좋은 구식 참조를 통해 단순히 연관성이 있습니까?

나는 Google을 사용하여 스스로 답을 찾으려고 노력했지만 내가 찾은 많은 예제는 독립형입니다. 즉, 게시물/댓글 아니면 어쩌면 주문하다 그리고 주문 라인 등. 나는 다른 관련 클래스가 어떻게 어울리는지를 보여주는 것을 찾을 수 없습니다.

PHP 또는 Java/C#은 아마도이 아이디어를 사용하려는 영역 일 것입니다. 어쨌든 나는 단지 도망 가고 괴물을 만들기 전에 이러한 아이디어와 개념 중 일부를 둘러보고 노력하고 있습니다. :)

시간 내 주셔서 감사합니다.

도움이 되었습니까?

해결책

저장소 패턴은 상당히 느슨하게 정의되며 반드시 집계 패턴과 어떤 관계가 없습니다. 그러나 DDD 방식을 구독하는 경우 예, 리포지토리는 집계에 고유합니다.

DDD 관점에서 이것을 살펴 보겠습니다. DDD는 골재 내의 물체는 다른 집계 루트를 참조 할 수 있지만 집계 내의 물체는 루트를 통해서만 액세스 할 수 있다고 말합니다. 응집체를 결정하기위한 경험 법칙은 루트를 삭제할 때 삭제해야합니다. 그러나 DDD는 관계가 도메인에 존재하기 때문에 도메인 모델에 존재할 필요가 없다고 말하는 대부분의 방법론보다 관계의 사용을 권장하지 않으므로 명심하십시오.

귀하의 경우 게시물을 삭제할 때 귀하는 주석도 삭제하지만 게시물을 만든 사용자 또는 그에 대해 댓글을 달린 사용자는 삭제하지 않는다고 가정합니다. 따라서 Post/Comment 집계를 정의하는 데 맞지 만 사용자를 해당 집계로 그룹화하는 것은 의미가 없습니다.

자체 집계 인 사용자는 게시물이 집계 루트이기 때문에 모든 게시물과의 관계를 포함 할 수 있습니다. 또한 주어진 사용자가 모든 게시물을 가져 오기 위해 사후 구조 에서이 A 메소드를 구현할 수도 있습니다. 도움이되기를 바랍니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top