"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Onde devo registrar objetos em uma aplicação de Castle Windsor de várias camadas para design e testabilidade ideais?

Onde devo registrar objetos em uma aplicação de Castle Windsor de várias camadas para design e testabilidade ideais?

Postado em 2025-03-05
Navegar:743

Where Should I Register Objects in a Multi-Layered Castle Windsor Application for Optimal Design and Testability?

O melhor local e método para registrar objetos em um aplicativo de Windsor de vários níveis

Ao integrar o Castle Windsor em aplicativos com estruturas de várias camadas, como camada de acesso a dados, camada lógica de negócios e camada de aplicativo, é importante considerar cuidadosamente o design do registro de objetos em Windsor. A questão é: quem deve ser responsável por registrar o objeto?

Plano de design para registro de objeto

]
  1. Cada camada registra seu próprio objeto: cada camada registra seu próprio objeto. Por exemplo, a camada de lógica de negócios registra os componentes da camada de acesso a dados, enquanto a plataforma de teste da camada de lógica de negócios substitui a camada de acesso a dados por classes simuladas.
  2. Registro de dependência: Cada camada registra suas dependências, como a camada lógica de negócios registra componentes da camada de acesso a dados. Os testes envolverão a desinstalação de objetos "reais" de acesso a dados e substituí -los por objetos simulados.
  3. Registro de nível de aplicativo: o aplicativo (ou aplicativo de teste) é responsável por registrar objetos de todas as dependências.

Método Recomendado: BiCle Root ]

Para obter modularidade máxima e acoplamento solto, todos os componentes de aplicação devem ser combinados o mais tarde possível. Na verdade, isso significa configurar o contêiner no diretório raiz do aplicativo:

    APLICAÇÃO DESKTOP:
  • main Método
  • ASP.NET APLICATIVO:
  • global.asax ]
  • aplicativo wcf:
  • serviceHostFactory
os contêineres atuam como mecanismos de combinação, e o diretório raiz do aplicativo atua como

root . Isso garante que o aplicativo permaneça simples executável sem testes de unidade desnecessários.

nenhum teste de contêiner ]

Os testes devem evitar a dependência de contêineres. Pelo contrário, o design de objetos e módulos deve ser independente do contêiner. O teste de unidade pode fornecer diretamente independente para esses componentes.

o instalador do WindSor é usado para encapsular

No Windsor, a lógica de registro de componentes pode ser encapsulada no instalador que implementa

iWindSorInstaller . Para mais detalhes, consulte a documentação do Windsor.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3