2011-09-14 6 views
11

Nell'ereditarietà classica, Derived eredita da Base. Con i mix, la classe di base (tecnica) viene solitamente chiamata Mixin. Qual è il termine appropriato per la classe (tecnica) che eredita dal Mixin?terminologia mixin

Voglio sapere questo così posso denominare i miei parametri del modello di conseguenza.

+2

http://en.wikipedia.org/wiki/Conglomerate_%28geology%29 forse? –

+1

Penso che dipenda dal fatto che il mixin sia tecnicamente una classe base o no. Se lanci 'this' a un puntatore al tipo di parametro template, lo chiamerei' Derived'. Altrimenti, chiamerei 'T' o' MoveConstructible' o qualsiasi altro concetto che deve implementare, come con qualsiasi altro parametro template. Il fatto che sia un mixee mi sembra meno importante delle proprietà effettive utilizzate dal mixin. –

+7

Etimologicamente, però, dovrebbe essere "IceCream" (http://en.wikipedia.org/wiki/Mixin) –

risposta

2

L'uso di una classe intermedia è un dettaglio di implementazione che non incide il risultato come direttamente come/rapporto derivato base in un albero tipico eredità, quindi non sono sicuro merita il proprio nome. L'unica volta che l'ho usato con maggior successo c'era già una classe base esistente che era richiesta (CDialog di MFC), quindi è stata usata l'ereditarietà multipla e il mio mixin non era il primo della lista.

Se davvero devi scegliere un nome, Derived è probabilmente buono come qualsiasi.

0

Probabilmente non esiste un nome accettato per quello.

Prova:

Final 

Concrete 

Complete