.NET interfețe

În ultimii ani m-am schimbat de la a avea o pagină lungă de controale pe care am ascuns/am arătat că folosesc o mulțime de controale ale utilizatorilor. Întotdeauna am avut o discuție între colegii cu privire la cele mai bune practici.

Ar trebui să aveți proprietăți pe care le-ați populat sau să utilizați sub-paramterii pentru a încărca informațiile în comenzile dvs.?

O parte din teama mea de a folosi paramterele este faptul că nu mă pot asigura că totul va fi populat.

Care este regula principală pentru utilizarea interfețelor? N-am creat niciodată unul. Și ar trebui să încerc acest lucru sau să stau cu "sub încărcare" ?

0
fr hi bn

1 răspunsuri

Nu sunt sigur dacă interfețele te vor ajuta mult. Înțelegerea mea este că rupeți o pagină în jos în setul de comenzi "compozite" de utilizator care conțin alte controale și doriți să decideți dacă să utilizați proprietăți pentru setarea valorilor.

Cred că acest lucru depinde într-adevăr de modul în care sunt proiectate controalele utilizatorilor și de faptul că acestea sunt adăugate dinamic într-o pagină etc. (un scenariu posibil). Am o preferință personală pentru a specifica lucruri într-un constructor sau pentru a utiliza o metodă din fabrică pentru a crea controale. Îmi asum responsabilitatea creării pentru a vă asigura că totul este setat. Experiența mea cu proprietățile este că uneori voi uita să stabilesc ceva și să nu-mi dau seama de greșeala mea. Punctul dvs. referitor la stabilirea proprietăților sau la utilizarea unui substruct și tot ce este populat nu are prea mult sens. Dacă aveți o anumită dependență și aveți nevoie de altceva pentru a fi încărcat, atunci acest lucru se poate întâmpla indiferent dacă este vorba despre o proprietate sau despre o altă entitate.

M-aș referi la orice carte pe VB.NET/C#/OOP pentru a vedea sintaxa pentru interfețe. Interfețele descriu în principiu un contract pentru o clasă. Dacă aveți clasa A și B și ambele implementează o interfață numită ITime, atunci ambele vor furniza toate metodele definite pe ITime. Ei pot adăuga în continuare propriile metode, dar trebuie să includă, cel puțin, o implementare a metodelor ITime (de exemplu, s-ar putea să avem GetDate (), GetCurrentTime() ca metodă pe ITime). O interfață nu indică clasei A sau B modul în care aceste metode ar trebui să funcționeze - doar numele lor, parametrii și tipul de returnare. Căutarea în moștenire într-o carte OOP pentru mai multe informații despre modul în care moștenirea interfețelor este diferită de moștenirea implementării.

0
adăugat