Я изучаю EF Code First, и я немного борюсь с тем, какие шаблоны использовать в моем приложении.Я прочитал много противоречивых предположений и доводов, некоторые из которых утверждают, что вы должны использовать шаблон Repository, в то время как другие говорят, что это избыточно, и я склонен согласиться.
Вот мой деликат:
Предположим, ясоздание веб-службы REST, которая позволит мне управлять клиентами.Эта услуга позволит мне добавлять клиентов, удалять клиентов, редактировать клиентов и находить клиентов.
Должен ли я:
A.) Мой вопрос сводится к тому, куда должна идти моя бизнес-логика.Должен ли я иметь класс CustomerManager, который предоставляет методы Add, Edit, Delete и Find, которые принимают сущность Customer?Должна ли моя логика валидации идти этими методами?
B.) Должен ли я использовать стиль разработки Active Record, когда моя сущность Customer будет иметь методы Save (), Delete () и Find () для нее со всеми валидациямивход в систему выполняется внутри класса Customer?
C.) Должен ли я делать гибридный тип, в котором простая логика проверки находится на самом объекте.Это можно сделать с помощью атрибуции кода.Я также мог бы иметь простой метод сохранения объекта.Затем я мог бы выполнить сложную бизнес-логику проверки, delete (), find () и сохранения нескольких объектов в классе CustomerManager?
Я склоняюсь к варианту C. В прошлом я обычно использовал Manager/ Классы обслуживания, сохраняющие мои сущности довольно простыми.Тем не менее, поскольку код сначала выполняет проверку свойств сущностей на уровне сущностей, кажется, что, возможно, все простые проверки сущностей должны идти туда.
Я понимаю, что это может быть несколько религиозной темой, но я хотел бы получить некоторыедругие варианты того, как лучше всего составить солидное приложение.