Aufrufen von Befehlen aus einer anderen Handle () - Befehlsmethode

Hi ich benutze dieEinfacher Injektor DI Bibliothek und haben einige wirklich interessante Materialien über ein Architekturmodell verfolgt, das um das Befehlsmuster herum entworfen wurde:

Inzwischen ... auf der Kommandoseite meiner ArchitekturInzwischen ... auf der Abfrageseite meiner Architektur

Der Container verwaltet die Lebensdauer desUnitOfWorkIch verwende Befehle, um bestimmte Funktionen für die Datenbank auszuführen.

Meine Frage ist, ob ich einen Befehl habe, zum Beispiel einenAddNewCustomerCommandDies ist aus konstruktiver Sicht akzeptabel, oder sollte dies auf einer höheren Ebene erfolgen, und wenn ja, wie ist dies am besten zu tun?

Beispielcode ist unten:

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);
     }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage