Árvore de páginas

Versões comparadas

Chave

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

...

TNF fornece uma infra-estrutura para a construção de módulos para criar uma aplicação. Um módulo pode depender de outro módulo. Se você criou um aplicativo uma aplicação com mais de um assembly, sugerimos criar uma definição de módulo para cada assembly.

...

Um módulo é definido com uma classe derivada de TnfModule. Digamos que estamos desenvolvendo um módulo Blog que pode ser usado em diferentes aplicativos. A definição mais simples do módulo pode ser como mostrado abaixo: 

public

...

class

...

MyBlogApplicationModule

...

:

...

TnfModule


{
    public override void Initialize()
    {
        IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
    }
}

 

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 aplicativos e outros módulos, adicionar novos recursos ao aplicativo e assim por diante ...

...

Esse método é chamado primeiro quando a aplicação é iniciada, usado para configurar a estrutura e outros módulos antes de inicializar. Além disso, você pode escrever algum código específico aqui para executar antes do registro de injeção de dependência. Por exemplo, se você criar uma classe, deverá registrá-la aqui usando o método IocManager.AddConventionalRegisterer.

Initialize

Este método é responsavel responsável pelo registro da injeção de dependência. Geralmente é feito usando o método IocManager.RegisterAssemblyByConvention. Se você deseja definir o registro de dependência personalizado, consulte a documentação de injeção de dependência.

...

[DependsOn(typeof(MyBlogCoreModule))]
public class MyBlogApplicationModule : TnfModule
{
    public override void Initialize()
    {
        IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
    }
}

 Dessa forma quando o modulo for carregado suas dependencias (modulos) serão carregados com ele.

"Lifetime" do módulo

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