[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. / [en] Dependency injection, a form of inversion of control, is a way of structuring the configuration and composition of software components that brings many benefits such as a loose coupling of components. However, a generic dependency injection framework requires runtime type introspection and this is why dependency injection is popular in Java and almost non-existent in C plus plus. In this work we present a introspection system for C plus plus 11 and show how to use it to improve an implementation of the Service Component Architecture (SCA) for C plus plus. It uses several features of C plus plus 11 such as perfect forwarding, variadic templates and lvalue references to improve usability and minimize overhead.
Identifer | oai:union.ndltd.org:puc-rio.br/oai:MAXWELL.puc-rio.br:28950 |
Date | 01 February 2017 |
Creators | MAXIMILIEN PHILIPPE M A DE BAYSER |
Contributors | RENATO FONTOURA DE GUSMAO CERQUEIRA, RENATO FONTOURA DE GUSMAO CERQUEIRA |
Publisher | MAXWELL |
Source Sets | PUC Rio |
Language | English |
Detected Language | English |
Type | TEXTO |
Page generated in 0.9936 seconds