Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

O TNF introduz uma infra-estrutura para a construção de módulos para construir uma aplicação.

Todo assembly pode ser registrado através de um módulo onde este conterá definições sobre suas dependências, registro de tarefas de acordo com o ciclo de vida, definições de configuração, etc.

Um módulo pode depender de outro módulo. Se você criou uma aplicação com mais de um assembly, sugerimos criar uma definição de módulo para cada assembly.

A estrutura para utilização de modulos está contida no pacote Tnf disponivel via nuget em nosso package souce: https://www.myget.org/F/tnf/api/v3/index.json

...

Criando um módulo

Um módulo é definido com uma através da herança da classe derivada de TnfModule.

Digamos que estamos desenvolvendo um módulo Blog (Blog.dll) que pode ser usado em diferentes aplicativos. A definição mais simples do módulo pode ser como mostrado abaixo:

...

A classe de definição do módulo é responsável por registrar as classes para a injeção de dependência (pode ser feita convencionalmente como mostrado acima), se necessário. Ele pode configurar conter configuração de outros aplicativos e outros módulos, adicionar novos recursos e assim por diante ...

"Lifecycle" de um módulo

PreInitialize

Esse método Este é chamado o primeiro método executado quando a aplicação é iniciada. Além disso, você pode escrever algum código específico aqui para executar Ele pode ser usado para executar algum código especifico antes do registro de injeção de dependência da aplicação por exemplo.

Initialize

Este método é responsável pelo registro da injeção de dependência. Geralmente é feito usando o método IocManager.RegisterAssemblyByConvention. Se você deseja definir o método onde deve ser feito todo o registro de dependência personalizado, consulte a documentação de de seu modulo. Se você irá usar convenções do TNF para trabalhar com injeção de dependência o método IocManager.RegisterAssemblyByConvention deverá ser usado para registrar as dependências para o assembly.

PostInitialize

Esse método é chamado após a inicialização da aplicação e registro de suas dependências.

Shutdown

Esse método é chamado quando a aplicação é encerrada.

...

Dessa forma quando o modulo for carregado suas dependencias dependências serão carregadas com ele.

"Lifetime" de um módulo

Classes de módulo são registradas automaticamente como singletons dentro da aplicação e persistem em memoria até o seu fim.