Лучшая практика ошибок BLL

2

Какова наилучшая практика для возврата ошибки бизнес-правила в BLL? Должен ли я просто генерировать исключения и ловить их на уровне презентации, shoudl Я возвращаю какой-то объект, который содержит информацию о типе исключений?

Теги:
n-tier
3-tier
bll

1 ответ

2
Лучший ответ

Слово "возвращение" здесь сложно.

Основным достоинством многоуровневой конструкции является ортогональность. Вы должны иметь возможность вызывать классы в вашем BLL из совершенно другого интерфейса, чем тот, который вы сейчас используете, и обрабатывать ведение журнала совершенно по-другому.

Если исключение можно обрабатывать без вмешательства пользователя или уведомления, вы должны, как правило, делать это в BLL. Если исключение должно быть привлечено к вниманию пользователя или занесено в журнал, позвольте ему перейти к пользовательскому интерфейсу, который может реализовать уведомление и протоколирование, не создавая такие вещи в BLL.

  • 3
    Также полезно заключить несколько исключений (InvalidCastException, SqlException и т. Д.) В отдельные типы исключений BLL (MyDatabaseException), чтобы людям, использующим библиотеку, не приходилось ловить пятнадцать различных типов исключений при каждом вызове.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню