API UNO - interfacce e servizi - primo approccio

Creare una macro - Scrivere uno script - Usare le API
Rispondi
MarcoG
Messaggi: 14
Iscritto il: martedì 21 febbraio 2012, 18:49

API UNO - interfacce e servizi - primo approccio

Messaggio da MarcoG »

Buongiorno

Premessa:
Sto cercando di scrivere un programma in C# che recupera dati da un foglio calc, li elabora e infine restituisce i valori.
Questo apprroccio è dovuto al fatto di:
1. non dover gestire una interfaccia grafica usando il folgio di calc
2. aver la necessità di elaborare velocemente i dati letti dal foglio. Basic si è dimostrato eccessivmaente lento.

Domanda
Sto quindi cercando di capire come funzionano le API. Ho letto varie articoli ma un dubbio base mi rimane.
E' corretto fare questo parallelismo:

servizio --> una classe di C# (astratta)
interfaccia --> una interfaccia di C#

quindi se un certo servizio implementa una certa interfaccia che richiede che quel servizo abbia determianti metodi allora è possibile creare un oggetto del "tipo" di quel servizio e richiamare poi sull'oggetto i metodi definiti dall'interfaccia.
Usando C# quando definisco una variabile devo specificare sempre il tipo.
Qui nasce il dubbio.
Noto che il tipo è in genere definito non come il servizio ma come l'interfaccia.
Cioè il servizio "Cell" è definito come
Xcell oCell
dove Xcell è una interfaccia implementata dal servizio Cell.

E' questo il modo corretto di procedere? Usare l'interfaccia come "tipo"?

Nasce quindi il problema che quando una interfaccia è implementata da diversi servizi definendo una variabile in questo modo come è possibile che il compilatore capisca quale è il servizio corretto? Nasce poi l'obbligo del cast.

Mi chiarite un po' le idee... :super:

grazie
MArco
LibreOffice 3.5.2 su windows Vista sp2