Introdução
Componere (latim, português: compor) tem como alvo ambientes de produção e fornece uma API para composição de classes, alteração dinâmica de código durante a execução e conversões.
Composição:
Componere\Definition é usado para definir (ou redefinir) uma classe em tempo de execução; A classe pode então ser registrada, e no caso de redefinição ela substitui a classe original enquanto o Componere\Definition existir.
Alteração dinâmica:
Componere\Patch é usado para alterar a classe de uma instância específica de um objeto em tempo de execução; Após a aplicação, o patch permanecerá aplicado enquanto o Componere\Patch existir e poderá ser revertido explicitamente.
Conversão:
As funções de conversão do Componere\ podem converter entre tipos compatíveis definidos pelo usuário;
Onde compatível significa que Type é sub ou super ao tipo de object
.