1

저는 저장소 패턴과 poco를 사용하여 EF 4와 함께 MVC 2를 사용하여 응용 프로그램을 작성하고 있습니다. 고객 로그인 페이지를 만들고 싶습니다. 암호 정책, 유효성 및 로그인 관련 기타 모든 사항을 검사하는 기능을 어디에서 실행해야합니까? 별도의 로그인 클래스를 생성해야합니까? 아니면 POCO가 생성 한 Customer Entity에 살고 있습니까? 그 자체를 인증하는 고객의 responibility가 아니므로DDD에서 기능적으로 비밀번호가있는 위치

감사

DDD에서

답변

2

스투는, 그 기능은 서비스로 구현 될 수있다.

서비스 here의 정의를 읽을 수 있습니다.

+0

도메인 계층에이 기능을 배치하는 대신 별도의 서비스 계층에 배치하는 것이 좋을 것이라고 말하는 것입니까? – hoakey

+2

아니요, 서비스 계층이 아니라 도메인 서비스 (DDD의 컨텍스트에서)입니다. 이는 엔티티 간의 작업을 처리하는 방법을 나타내는 방법으로, 이러한 엔티티 중 하나의 독점적 인 책임은 아닙니다. [여기에 대한 자세한 내용 (http://devlicio.us/blogs/casey/archive/2009/02/17/ddd-services.aspx). – CGK

+0

+1 - 동의합니다. 이것은 인증과 관련이 있습니다. 도메인과 관련이없는 부분은 웹 애플리케이션으로 도메인을 표시하는 과정의 일부입니다. 도메인 서비스 여야합니다. – RPM1984

1

Check이 링크를 클릭하시면 도움을 얻을 수있는 포인트가 적습니다.

"Where should the functionality live that does things like checks password policy, 
validity and all other things login related. Would this live inside the POCO generated 
Customer Entity, should I create a seperate login class, or something else?" 

암호 및 사용자에 대해 별도의 모델을 만들고 도메인 서비스에 전달하고 고객 리포지토리에서 다른 작업을 처리하도록합니다.

또한 referred 샤프 아키텍처가 필요합니다. 이것은 MVC + DDD + NH + POCO를 기반으로합니다. 이것은 당신이 찾고있는 것에 대해 간략하게 알려줄 것입니다.

+0

Strewth, 모든 것이 상당히 압도적으로 보입니다. 샤프 아키텍처 (Sharp Architecture)에 대한 지식으로 로그인 질문과 관련하여 특별히 살펴 봐야 할 사항이 있습니까? – hoakey

관련 문제