Я знаю, что ответ на мой вопрос может включать выбор конкретного подхода, но я пытаюсь объяснить, что я пытаюсь выяснить, с деталями:
Рассмотрим простое трехслойное приложение (DAL, BLL, PL).
DAL использует EF 4.1 Code-First и доступ к данным обернут в хранилище.
Прямо сейчас, в BLL, у меня есть Manager
классы. (например, UserManager
, ProductManager
), которые все происходят от BaseManager
. Почти каждый метод в моих классах Manager принимает связанную сущность в качестве параметра и выполняет с ним соответствующие операции. например в UserManager
(псевдокод):
public bool AddPermission(User user, PermissionItem permission)
{
this.repository.Add(permission);
this.save();
}
Вопрос: мои классы менеджера не нуждаются в создании экземпляров. они могут быть определены как статические.
Но если я определю их как статические, я должен создать свои общие методы и члены (например, repository
и пару других членов) в каждом классе (я не хочу определять такие элементы, как репозиторий, как статические).
Так вы предлагаете мне изменить классы Manager, которые действительно должны быть статическими, на статические классы? или можно использовать их как есть?