Turinys:
Apibrėžimas - ką reiškia sekli kopija?
Seklioji kopija C # formatu yra objekto klono kūrimo procesas, sukuriant naują to paties tipo egzempliorių kaip originalus objektas ir nukopijavus nestatinius esamo objekto narius į kloną. Reikšmės tipo nariai yra nukopijuojami po truputį, tuo tarpu referencinio tipo nariai yra nukopijuojami taip, kad nurodytas objektas ir jo klonas nurodytų tą patį objektą.
Paprastai sekli kopija naudojama, kai našumas yra vienas iš reikalavimų kartu su sąlyga, kad objektas nebus mutavęs visos programos metu. Perduodant kloną, kuriame yra nekintamų duomenų, pašalinama bet kokio kodo sugadinimo galimybė. Nustatyta, kad sekli kopija yra efektyvi, kai objektų nuorodos leidžia perduoti objektus atminties adresu, kad nereikėtų kopijuoti viso objekto.
Seklioji kopija taip pat vadinama narių kopija.
„Techopedia“ paaiškina seklią kopiją
Seklioji kopija yra panaši į giluminę kopiją kiekvienam objekto nariui priskiriant kitą objektą, tačiau ji skiriasi tuo, kaip nukopijuojamas atskaitos tipo laukas. Skirtingai nei sekliose kopijose, kur nukopijuojama tik nuoroda, giliąja kopija sukuriama nauja nurodyto objekto kopija.
Pvz., Apsvarstykite darbuotojo objektą, kuriame yra išsami informacija apie asmeninę informaciją, įskaitant adresų objektų, kuriuose saugomi keli darbuotojų adresai, sąrašą. Atlikus seklią darbuotojo objekto kopiją, gali būti sukurtas darbuotojo objekto klonas su nuorodomis į tą patį adresų objektų sąrašą, kurie priklauso originaliam darbuotojo objektui.
Seklių kopijų darymo būdai yra šie:- Paskambinkite į objekto „MemberwiseClone“ metodą
- Sukurkite kloną rankiniu būdu, naudodami nuobodų, bet lengvai kontroliuojamą metodą
- Naudokite refleksijos techniką, kuri suteikia automatinę galimybę atlikti negilias kopijas, bet kartu su našumu
- Naudokite serializacijos metodą, kuris yra lėtesnis nei atspindys, tačiau automatizuotas ir paprastas
