2010-08-22 2 views
5

DDD 설계된 ASP.NET MVC2 웹 응용 프로그램에서 오류 처리와 관련하여 "모범 사례"는 무엇입니까? 예를 들어, 웹 응용 프로그램의 가장 일반적인 측면을 보자, 로그인 :DDD 맞춤형 ASP.Net MVC2 웹 응용 프로그램에서 오류 처리

  • UserController는 : 분명히에 몇 도메인 객체에 결국 로그를 조정하거나 사용자를 거부하고 는 다른 부분에 리디렉션 필요에 따라 웹 인터페이스. 필자의 경우 IsLoggedIn() 또는 LogIn()과 같은 다른 UserTasks 메서드에 대한 호출이 약간 있습니다. 에 RedirectToAction을 더한 것입니다.
  • UserTasks는 : 관련 도메인을 같은 User.IsUserInactive을 확인 SecurityService.ValidateUser() 또는 ()를 호출하는 것과 SecurityService 같은 객체 서비스, 낮은 도메인 개체를 조정하는 작업 의 고기를 가지고 있습니다.
  • 보안 서비스 : 물론 좌표 인증/인증 서비스. MembershipProvider와 비슷하지만 초과 수하물은 없습니다.
  • 사용자 : 사용자를 나타냅니다. 그렇지 않으면 빈도가 다양하므로 사용자 지정 메서드 IsDeleted, IsLockedOut 또는 이 FromDt와 ThruDt 사이인지 확인하는 IsuUserInactive()입니다.

정보를 유익하고 사용자에게 적대적이지 않은 방식으로 어떻게 오류를 포착합니까? 예외가있는 코드를 처리하고 Application_Error()에서 모든 코드를 처리합니까? 예를 들어, Password가 비어있을 때 ValidateUser()가 ArgumentNullException()을 던지고 암호가 올바르지 않은 경우 AuthenticationException()을 던져 주거나 bool = false를 반환해야합니까? 후자의 경우 유효성 검사가 실패한 원인을 사용자에게 어떻게 알 립니 까?

답변

0

WhoCanHelpMe/S # arp 아키텍처를 사용하는 것으로 가정합니다. 명명 규칙을 기반으로합니까? 그렇다면 this article을 살펴보고 더 깨끗한 응용 프로그램 서비스 계층의 구현을 설명하는 것이 좋습니다. 서비스 레이어에서 반환되는 결과는 ActionConfirmation입니다. 우리는 이것이 Tasks 레이어에서 덜 좋지 않은 오류 결과를 반환하는 이상적인 방법이라는 것을 알았습니다.

관련 문제