[C#] Wrappare una classe
liveforever non è online. Ultima attività: 08/10/2008 17.51.32liveforever
Inserito il: 29 agosto 2008 12.32
7 messaggi dal 30 mag 2008 Istalla Microsoft Silverlight!
Salve a tutti!

Mi è stato chiesto di wrappare (io appena sentito 'sto termine: :madai!? una classe.

Da quanto ho capito spulciando il web, dove lavoro fanno uso di un prodotto che è proprietario e quindi non hanno i sorgenti.

Ho quindi pensato che wrappare una classe (nello specifico una API di questo prodotto) in questo caso volesse dire implementare in linea di massima la stessa classe, con proprietà e metodi di cui, essende il prodotto proprietario, non posso vederne l'implementazione ma solo la dichiarazione.

In tal modo si avrebbe una implementazione "ad-hoc" di tale API.

E' giusto come ragionamento?

Nello specifico, devo implemente un metodo chiamato Compare (restituisce void) nella API, il quale altro non fa che comparare 2 stringe in ingresso.

Nell'API, il metodo Compare ha 3 campi: stringa1, tipoDiCompare, stringa2.

tipoDiCompare può essere Equal, Greater, Less, NotEquale...etc.

Come lo implementereste voi se il PRIMO ragionamento è esatto?

Grazie! ;-)
Microsoft Most Valuable Professional
RE: [C#] Wrappare una classe
novecento non è online. Ultima attività: 20/11/2008 10.04.35novecento
Inserito il: 29 agosto 2008 14.15
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 979 messaggi dal 04 mar 2004 Istalla Microsoft Silverlight!
liveforever ha scritto:
Salve a tutti!
Ciao!
Mi è stato chiesto di wrappare (io appena sentito 'sto termine: :madai!? una classe.

Da quanto ho capito spulciando il web, dove lavoro fanno uso di un prodotto che è proprietario e quindi non hanno i sorgenti.

Ho quindi pensato che wrappare una classe (nello specifico una API di questo prodotto) in questo caso volesse dire implementare in linea di massima la stessa classe, con proprietà e metodi di cui, essende il prodotto proprietario, non posso vederne l'implementazione ma solo la dichiarazione.

Una classe wrapper "ricopre" le funzionalità di un'altra classe usandone metodi e proprietà, si ha l'esigenza di una classe wrapper quando non si possono sfruttare i principi di ereditarietà ma si vuole modificare alcuni comportamenti.


In tal modo si avrebbe una implementazione "ad-hoc" di tale API.

E' giusto come ragionamento?

In che senso "fanno uso di un prodotto che è proprietario"? intendi una libreria di classi da referenziare nel progetto?

Nello specifico, devo implemente un metodo chiamato Compare (restituisce void) nella API, il quale altro non fa che comparare 2 stringe in ingresso.

Nell'API, il metodo Compare ha 3 campi: stringa1, tipoDiCompare, stringa2.

tipoDiCompare può essere Equal, Greater, Less, NotEquale...etc.

Come lo implementereste voi se il PRIMO ragionamento è esatto?

Grazie! ;-)

In questo caso potresti fare:

public class MyWrapper
{
    private Libreria libreria;
    public MyWrapper()
    {
        libreria = new Libreria();
    }

    public bool Compare(string stringa1, tipoDiCompare tipoDiCompare1, string stringa2)
    {
        libreria.Compare(stringa1,tipoDiCompare1,stringa2);
        if(..
    }
}


Scusa ma come funziona il Compare se restituisce un void?

Alessio Leoncini
SilverlightItalia.com
RE: [C#] Wrappare una classe
liveforever non è online. Ultima attività: 08/10/2008 17.51.32liveforever
Inserito il: 29 agosto 2008 14.29
7 messaggi dal 30 mag 2008 Istalla Microsoft Silverlight!
Ciao Alessio...e grazie!

effettivamente 'sta cosa trae in inganno anche me...

il metodo dell'API è così definito:

public void AddFilterField(WCLogical Logical, WCField Field, string SubField, WCCompare Compare, object Value)

Dove WCField e WCCompare su due enum (ad ogni valore è associato un intero).


Un esempio di tale metodo:

worklistCriteria.AddFilterField(SourceCode.Workflow.Client.WCLogical.And, SourceCode.Workflow.Client.WCField.ProcessData,
"Department", SourceCode.Workflow.Client.WCCompare.Equal, "HR");
Microsoft Most Valuable Professional
RE: [C#] Wrappare una classe
novecento non è online. Ultima attività: 20/11/2008 10.04.35novecento
Inserito il: 29 agosto 2008 22.07
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 979 messaggi dal 04 mar 2004 Istalla Microsoft Silverlight!
Al di là dell'API e del suo funzionamento, ti torna il concetto di wrapper?

Alessio Leoncini
SilverlightItalia.com

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


gghi - 1000 pt
PeppeDotNet - 700 pt
vladimiro - 210 pt

Iscriviti anche tu e raccogli punti. Questo mese in palio Windows Vista Ultimate, ANTS Profiler e 1 ebook!


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums