О разработке программного обеспечения: где я должен проверить параметры?

Представьте, что у меня есть приложение, которое запрашивает у пользователя имя, список категорий. Когда пользователь нажимает кнопку «Сохранить», приложение сохранит имя и категорию в базе данных.

У меня есть слой, который получает имя и категорию из пользовательского интерфейса. Этот слой проверяет, есть ли имя (строка с длиной> 0). Если это правильно, он передаст название категории другому слою. Примечание: категория - это список переключателей, в котором всегда выбирается один элемент.

На этом втором уровне приложение выберет подходящий класс для сохранения имени в зависимости от категории.

На последнем уровне класс сохранит это имя. база данных. В этом классе я проверю, пусто ли имя или нет.

Мой вопрос: где правильное место для проверки входных параметров метода? на каждом слое? Может быть, Я собираюсь использовать эти слои в других разработках.

Мой пример верен? Возможно, я могу оставить проверку на уровне базы данных и вызвать исключение на уровне пользовательского интерфейса.

5
задан VansFannel 27 February 2011 в 15:29
поделиться