Именование Классов Бизнес-Логики

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

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

3 ответов


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


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


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

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