Подтвердить что ты не робот

Классы бизнес-логики

У меня есть бизнес-уровень с несколькими бизнес-объектами/POCOs/entity/whatever. У меня также есть некоторые репозитории для доступа к данным. До этого момента я обращался к репозиториям непосредственно из своего слоя пользовательского интерфейса. Я нахожусь в точке, где мне действительно нужны еще несколько классов, которые не являются прямыми CRUD, поэтому я собираюсь создать некоторые классы бизнес-логики, которые будут выполнять логику, и CRUD, а репозитории не будут доступны UI больше (что, вероятно, должно было быть сделано с самого начала).

Что я должен назвать этими классами? Единственное, о чем я могу думать, это классы обслуживания, но у меня есть фактические службы WCF в этом приложении, так что это будет путать. Службы WCF также будут использовать эти классы, поэтому использование службы класса обслуживания кажется странным и запутанным.

4b9b3361

Ответ 1

Я также использую соглашение об именах "Сервис". Правда, "сервис" стал очень перегруженным термином в отрасли, но он имеет наибольший смысл. Разработчики, просматривающие код, должны иметь возможность определить разницу между службой Application/Domain Service и WCF-сервисом, а при вызове службы WCF другие классы обслуживания могут показаться запутанными, я думаю, вы обнаружите, что это не так. Идея службы заключается в том, что это код, который выполняет функцию и доступен для использования другим кодом. Это может быть внутренняя услуга, или это может быть услуга, которая подвергается внешнему воздействию через HTTP или что-то еще. Но идея того, что делает код, одинакова.

Ответ 2

Если ваши "службы" упорядочивают бизнес-логику с помощью нескольких объектов домена, вы, вероятно, используете "Фасад" - так, возможно, вы можете назвать их этим суффиксом, например OrderManagementFacade

Ответ 3

Из вашего описания, похоже, что классы WCF фактически реализуют хост службы. Обычно я называю такие классы суффиксом "ServiceHost". Он отлично отделяет их от фактических классов обслуживания.

Итак, например, у вас будет ваша бизнес-логика в классе с именем "CustomerService", а соответствующий класс WCF будет назван "CustomerServiceHost".