У меня есть приложение MVC, которое разделено на 3 уровня: - Презентация - ASp.NET MVC - Деловая логика - Здесь у нас есть сущности и сервисы объектов. У нас также есть сопоставители между объектами DAL и объектами BL - уровень доступа к данным - мы используем EF для запроса базы данных. Теперь мы создали фабрику для объектных сервисов, и позже фабрика внедряется в презентацию с помощью Unity. Каждый раз, когда мне нужно выполнить какую-то логику, я вызываю соответствующую службу, которая использует репозитории DAL для выполнения каких-то действий. Теперь, глупый вопрос, предположим, что я хочу проверить, могу ли я добавить пользователя с предоставленным ником. Псевдоним уникален в базе данных, поэтому перед добавлением пользователя я проверяю, существует ли пользователь с указанным ником. Итак, это простой запрос, который возвращает истину / ложь. Поскольку у меня нет никакой связи между уровнем представления и бизнес-уровнем, я проверяю это в сервисе. Но код служебного метода выглядит просто так:
var exists = repository.NicknameExists(nickname);
return exists;
Приведенный выше код выглядит странно, потому что он ничего не делает, просто вызывает метод и возвращает его значение. С другой стороны, у меня есть разделение проблем, поэтому мое решение хорошо организовано. Может кто-нибудь дать мне несколько советов, как мне решать подобные проблемы?