Бизнес Логика + ASP.NET MVC - PullRequest
1 голос
/ 27 мая 2011

У меня есть приложение MVC, которое разделено на 3 уровня: - Презентация - ASp.NET MVC - Бизнес логика - Здесь у нас есть сущности и объектные сервисы.У нас также есть средства отображения между объектами DAL и объектами BL - Data Access Layer - мы используем EF для запросов к базе данных.Теперь мы создали фабрику для объектных сервисов, и фабрика вводится в презентацию позже, используя Unity.Каждый раз, когда я хочу сделать какую-то логику, я вызываю соответствующий сервис, который использует репозитории DAL для выполнения каких-то задач.Теперь глупый вопрос, давайте предположим, что я хочу проверить, могу ли я добавить пользователя с предоставленным псевдонимом.Псевдоним уникален в базе данных, поэтому, прежде чем добавить пользователя, я проверяю, существует ли пользователь с предоставленным псевдонимом.Итак, это простой запрос, который возвращает истину / ложь.Поскольку у меня нет никаких связей между уровнем представления и бизнес-уровнем, я проверяю это в сервисе.Но код метода службы выглядит следующим образом:

var exists = repository.NicknameExists(nickname);
return exists;

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

1 Ответ

0 голосов
/ 27 мая 2011

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

public bool IsUserExists(string nickname)
{
    return repository.NicknameExists(nickname);
}

Я бы порекомендовал вам прочитать это сообщение в блоге о действительных причинах создания подпрограммы или главе 7.1 Code Complete 2ed

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...