FLEXIBLE COMPOSITION FOR C PLUS PLUS 11
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO === CONSELHO NACIONAL DE DESENVOLVIMENTO CIENTÍFICO E TECNOLÓGICO === 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 aco...
Main Author: | |
---|---|
Other Authors: | |
Language: | English |
Published: |
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO
2013
|
Online Access: | http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=28950@1 http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=28950@2 |
Summary: | PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO === CONSELHO NACIONAL DE DESENVOLVIMENTO CIENTÍFICO E TECNOLÓGICO === 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. === 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. |
---|