Llamando comandos desde otro método de comando ()

Hola estoy usando elInyector simple DI y he estado siguiendo un material realmente interesante sobre un modelo arquitectónico diseñado alrededor del patrón de comando:

Mientras tanto ... en el lado de comando de mi arquitecturaMientras tanto ... en el lado de consulta de mi arquitectura

El contenedor gestionará la vida útil de laUnitOfWork, y estoy usando comandos para realizar funciones específicas a la base de datos.

Mi pregunta es si tengo un comando, por ejemplo unAddNewCustomerCommand, que a su vez realiza otra llamada a otro servicio (es decir, envía un mensaje de texto), desde un punto de vista de diseño, ¿es esto aceptable o debería hacerse a un nivel superior y, de ser así, cuál es la mejor manera de hacerlo?

El código de ejemplo está abajo:

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta