[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ç...

Descripción completa

Detalles Bibliográficos
Autor: MAXIMILIEN PHILIPPE M A DE BAYSER
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
Descripción
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.