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 ArchitekturDer Container verwaltet die Lebensdauer desUnitOfWork
Ich verwende Befehle, um bestimmte Funktionen für die Datenbank auszuführen.
Meine Frage ist, ob ich einen Befehl habe, zum Beispiel einenAddNewCustomerCommand
Dies 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);
}
}