Многочисленным службам бизнес-логики в моей программе требуется доступ к общему набору служб, не связанных с бизнес-логикой, таких как электронная почта, печать, обмен сообщениями (окна сообщений и подсказки) и ведение журнала. Я планирую создать фасад для инкапсуляции EmailService, PrintService, MessageService и LogService, чтобы каждой службе бизнес-логики требовался только один параметр конструктора для класса фасада вместо четырех параметров для каждой из служб.
Итак, вместо
public BusinessLogicService(IEmailService emailService, IPrintService printService, IMessageService messageService, ILogService logService)
{
this.EmailService = emailService;
this.LogService = logService;
this.MessageService = messageService;
this.PrintService = printService;
}
Я возьму это
public BusinessLogicService(ISomeFacade facade)
{
this.SomeFacade = facade;
}
Мои вопросы:
Это правильное использование шаблона фасада? Если нет, то как мне это сделать?
Я предполагаю, что наличие стандартного набора служб, которые необходимы многим бизнес-службам, довольно распространено, поэтому существует ли стандартное соглашение об именах для такого рода фасадов, которое инкапсулирует EmailService, PrintingService, MessagingService, LoggingService и, возможно, некоторые другие нестандартные службы. сервисы бизнес-логики, которые мне понадобятся в будущем?
ISomeFacade
в вашем случае? - person Yacoub Massad   schedule 01.11.2015