2009-06-01 10 views
2

BLL에서 비즈니스 규칙 오류를 반환하는 가장 좋은 방법은 무엇입니까? 예외를 발생시켜 프리젠 테이션 레이어에서 잡아야합니까? shoudl 예외 유형 정보를 보유하는 객체를 반환합니다.BLL 오류 모범 사례

답변

2

"돌아 오는"이라는 단어는 여기 까다 롭습니다.

다중 계층 설계의 주된 장점은 직교성입니다. 현재 사용하고있는 UI와 완전히 다른 UI에서 BLL의 클래스를 호출하고 로깅을 완전히 다르게 처리 할 수 ​​있어야합니다.

사용자 개입이나 통지없이 예외를 처리 할 수있는 경우 일반적으로 BLL 내에서 예외를 처리해야합니다. 예외를 사용자의주의를 끌거나 기록해야하는 경우 BLL에 이러한 사항을 작성하지 않고 알림 및 로깅을 구현할 수있는 UI까지 거품을 띄웁니다.

+3

단일 BLL 예외 유형 (MyDatabaseException)에서 여러 예외 (InvalidCastException, SqlException 등)를 랩핑하여 라이브러리를 사용하는 사람들이 각 호출에서 15 가지의 다른 유형의 예외를 트랩하지 않아도됩니다. – Will