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 architektury

Kontener będzie zarządzał czasem życiaUnitOfWorki 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);
     }
}

questionAnswers(1)

yourAnswerToTheQuestion