2012-02-23 2 views
1

, 내가있는 동안 경우 계정 개체 를 반환하는 계정 로그인 기능을 구현하는 가장 좋은 방법을 무엇이가장 좋은 방법은 로그인 기능 나는이 질문을하기 전에 물어 보는 경우 잘 모릅니다

을 찾기 위해 노력 로그인이 성공하지 못함 (계정이 차단됨, 계정 필요 확인, 계정이 존재하지 않음 ... 등)

현재 내가 사용하는 C#은 다음과 같이 구현되며, 더 좋은 방법입니다

AccountBo resultAcc = null; 
//this is the result account if sucessful login 

LoginStatus ls = checkUserLogin(useerName, password, ref resultAcc);  
//the return value is an enum with different possible statuses 

미리 감사드립니다!

답변

2

제 제안에 의한 것이 아니라 완전히 과용 되었기 때문에 "우수 사례"라는 용어를 사용하는 것이 몹시 신중할 것입니다.하지만 예외를 throw하지는 마십시오 (LoginStatus 유형의 상태 코드 구성원을 가지고 있거나 로그인이 실패 할 경우를 대비하여 특정 오류에 따른 전용 예외 또는 두 가지 모두의 조합)?

그런 다음 AccountBo 개체 인스턴스를 반환 유형으로 사용합니다.

조기 "Anti-Exceptions"의견 : 요즘은 예외적 인 경우가 종종 있습니다 (성가신 이유로). 그러나 모든 실제 사용자/로그인 검사는 CPU/사이클의 점유율을 차지한다고 가정하므로 예외 작업은 가치가 없습니다.

+0

귀중한 답변을 주셔서 감사합니다. 예외를 사용하지 말고 전체 솔루션에서의 전략 일뿐입니다. 아키텍처를 작성하지 않았습니다.이 상황에 대한 다른 더 좋은 패턴이 있는지 확인하고 싶습니다. –

관련 문제