O Que É Trait Object Dispatch?
Trait object dispatch é uma forma de dispatch dinâmico em que um valor é acessado por trás de um ponteiro de interface combinado com uma tabela de implementações de métodos para seu tipo concreto. A cada chamada, o runtime segue a tabela até a função correta em vez de o compilador escolhê-la. Isso permite que tipos heterogêneos sejam usados de forma uniforme por meio de uma única interface.
Por que importa
O dispatch dinâmico permite designs flexíveis, no estilo plugin, em que o tipo concreto não é conhecido até o tempo de execução. O trade-off em relação ao dispatch estático é um pequeno custo de indireção e menos oportunidades de inlining.
Guias relacionados
What Is Type Erasure?Type erasure discards specific type parameters at or after compilation, leaving generic code working through…
What Is Monomorphization?Monomorphization compiles generic code into a separate specialized copy for each concrete type it is used wit…
What Is Boxing?Boxing wraps a value type in a heap-allocated object so it can be used where a reference or common interface…