Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 2 Próxima »

Introdução

Serviços de aplicação são usados para expor a lógica de domínio para a camada de apresentação.

Essa camada tem como principal objetivo aplicar todas as regras definidas para uma entidade ou para um processo, mantendo o domínio do negocio isolado fazendo a ligação da lógica do negocio com sua infraestrutura de dados.

IApplicationService Interface

No TNF a interface de um serviço de aplicação deve implementar IApplicationService. Essa interface já será registrada automaticamente no container de injeção de dependência através das convenções:

Definição da interface do serviço de aplicação
public interface ITaskAppService : IApplicationService
{
    void CreateTask(CreateTaskInput input);
}
ApplicationService Class

Um serviço de aplicação deveria implementar a interface declarada acima. Toda implementação de um serviço de aplicação deve derivar da classe ApplicationService. 

Essa classe expõe funcionalidades pré-definidas dentro da aplicação que facilitam seu uso como logging, localization:

Implementação do serviço de aplicação
public class TaskAppService : ApplicationService, ITaskAppService
{
    public TaskAppService()
    {
        LocalizationSourceName = "SimpleTaskSystem";
    }

    public void CreateTask(CreateTaskInput input)
    {
        // Write some logs (Logger is defined in ApplicationService class)
        Logger.Info("Creating a new task with description: " + input.Description);

        // Get a localized text (L is a shortcut for LocalizationHelper.GetString(...), defined in ApplicationService class)
        var text = L("SampleLocalizableTextKey");

        // TODO: Add new task to database...
    }
}
  • Sem rótulos