Наименование классов бизнес-логики - PullRequest
17 голосов
/ 07 декабря 2009

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

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

Ответы [ 3 ]

12 голосов
/ 07 декабря 2009

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

3 голосов
/ 23 ноября 2013

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

Так, например, ваша бизнес-логика будет иметь класс с именем «CustomerService», а соответствующий класс WCF будет называться «CustomerServiceHost».

3 голосов
/ 07 декабря 2009

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

...