"Soviet_Mario" wrote in message
news:4f173fbf$0$1381$4faf...@reader2.news.tin.it...
> uhm ... non ho capito la risposta (la prima parte, l'esempio delle
> interfacce si : dovrei mettere delle restrizioni nel Of Tipo As
> Interfaccia, giusto ?)
> Su quest'ultimo aspetto ora riesamino la situazione.
Non ho molto tempo adesso per cui ti faccio una rapida panoramica, poi mi
dirai tu se serve approfondire:
Quel tipo di problematica di solito si presenta quando uno vuole caricare
dll dinamicamente. Quello che si fa di base e' avere 3 progetti: 1)
l'applicazione; 2) la/le librerie da caricare dinamicamente; 3) una class
library che entrambi i progetti 1 e 2 referenziano, che contiene
un'interfaccia per il prog. 1 in modo da invocare uno dei CreateInstance a
fare il cast appunto ad un cosiddetto contratto noto, dall'altra parte per
il prog. 2 per avere un'interfaccia da implementare nelle proprie classi
concrete. Ulteriormente, poiche' di solito c'e' della logica comune a tutte
le eventuali librerie dinamiche, quella si implementa sempre nel prog. 3 con
una classe base che, come minimo, implementa l'interfaccia in questione e,
anche se non implementa concretamente nessuno dei suoi metodi, per lo meno
si limita a dichiararli abstract in modo da imporre alle classi derivate di
fornire una implementazione. E ovviamente questo e' solo la base di
partenza...
> MA il discorso della classe base non ho capito che c'entri (inoltre forse
> non mi azzecca, perché dal momento che non posso usare l'ereditarietà
> multipla, proprio non riesco a farne niente dell'ereditarietà tout court,
> e mi limito a usare il pattern "HAS A" e mai "IS A", cioè piazzo un
> oggetto interno, con nome, dentro la classe che ne usa alcune
> sottostanti).
IS-A e HAS-A, servono entrambi...
-LV