Я использую Spring 3, но я думаю, что этот вопрос более широко применим.
У меня есть веб-приложение с фронт-контроллером (Spring DispatcherServlet
).Оттуда вызывается служба, которая, в свою очередь, использует DAO или два для выполнения желаемой задачи, например, для добавления записи в базу данных.
Где я могу убедиться, что данные действительны?Допустим, у меня есть запись, которая имеет максимальную длину 50 символов - в какой момент я должен утверждать, что длина ввода <= 50?</p>
Если я проверю достоверность в контроллере, то, возможно, будет написан другой код, вызывающий службы, который не проверяет данные.
Я мог бы проверить достоверность на уровне службы, но, возможно, кто-томожет написать сервис, который не проверяет достоверность данных, таким образом передавая «плохие» данные в DAO.
Тогда может показаться очевидным, что проверка достоверности будет помещена в DAO - не повлияет ли это на мойвозможность проверки кода?
Каковы наилучшие методы проверки достоверности данных?