Wywoływanie poleceń z innej komendy Metoda Handle ()
Cześć UżywamProsty wtryskiwacz Biblioteka DI i śledziłem naprawdę ciekawy materiał na temat modelu architektonicznego zaprojektowanego wokół wzoru polecenia:
Tymczasem ... po stronie dowodzenia mojej architekturyTymczasem ... po stronie zapytań mojej architekturyKontener będzie zarządzał czasem życiaUnitOfWork
i używam poleceń do wykonywania określonych funkcji w bazie danych.
Moje pytanie brzmi, czy mam polecenie, na przykład anAddNewCustomerCommand
, która z kolei wykonuje inne połączenie z inną usługą (tj. wysyła wiadomość tekstową), z punktu widzenia projektu jest to dopuszczalne lub czy powinno to zostać wykonane na wyższym poziomie, a jeśli tak, to jak najlepiej to zrobić?
Przykładowy kod jest poniżej:
public class AddNewBusinessUnitHandler
: ICommandHandler<AddBusinessUnitCommand>
{
private IUnitOfWork uow;
private ICommandHandler<OtherServiceCommand> otherHandler;
AddNewBusinessUnitHandler(IUnitOfWork uow,
ICommandHandler<OtherServiceCommand> otherHandler)
{
this.uow = uow;
this.otherHandler = otherHandler;
}
public void Handle(AddBusinessUnitCommand command)
{
var businessUnit = new BusinessUnit()
{
Name = command.BusinessUnitName,
Address = command.BusinessUnitAddress
};
var otherCommand = new OtherServiceCommand()
{
welcomePostTo = command.BusinessUnitName
};
uow.BusinessUnitRepository.Add(businessUnit);
this.otherHandler.Handle(otherCommand);
}
}