[pt] COMPOSIÇÃO FLEXIVEL EM C MAIS MAIS 11
[pt] Injeção de dependências, uma forma de inversão de controle, é uma forma de estruturar a configuração e composição de componentes de software que traz vários benefícios como um acoplamento reduzido entre componentes. No entanto, um framework genérico de injeção de dependências requer instrospecç...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis doctoral |
| Estado: | Versión publicada |
| Fecha de publicación: | 2017 |
| País: | Brasil |
| Institución: | Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
| Repositorio: | Repositório Institucional da PUC-RIO (Projeto Maxwell) |
| Idioma: | inglés |
| OAI Identifier: | oai:MAXWELL.puc-rio.br:28950 |
| Acceso en línea: | https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=28950&idi=1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=28950&idi=2 http://doi.org/10.17771/PUCRio.acad.28950 |
| Access Level: | acceso abierto |
| Palabra clave: | [pt] COMPONENTES DE SOFTWARE [pt] INVERSAO DE CONTROLE [pt] INJECAO DE DEPENDENCIAS [pt] C PLUS PLUS 11 [pt] INTROSPECCAO [pt] SERVICE COMPONENT ARCHITECTURE [pt] SERVICOS [pt] REFLEXAO [pt] MODULOS [en] SOFTWARE COMPONENTS [en] INVERSION OF CONTROL [en] DEPENDENCY INJECTION [en] SERVICES [en] REFLECTION [en] MODULES |
| Sumario: | [pt] Injeção de dependências, uma forma de inversão de controle, é uma forma de estruturar a configuração e composição de componentes de software que traz vários benefícios como um acoplamento reduzido entre componentes. No entanto, um framework genérico de injeção de dependências requer instrospecção em tempo de execução, o que explica por que injeção de dependências é popular em Java mas praticamente inexistente em C Mais Mais. Neste trabalho apresentamos um sistema de introspecção para C Mais Mais 11 e mostramos como ele pode ser usado para melhorar uma implementação de Service Component Architecture (SCA) para C Mais Mais. Usamos vários novas funcionalidades de C Mais Mais 11 como perfect forwarding, variadic templates e lvalue references para melhorar a usabilidade da API de reflexão e minimizar o overhead de execução. |
|---|