Itthon Fejlesztés Mi a sekély másolat? - meghatározás a techopedia alapján

Mi a sekély másolat? - meghatározás a techopedia alapján

Tartalomjegyzék:

Anonim

Meghatározás - Mit jelent a sekély másolás?

A sekély másolás, a C # -ben, egy objektum klónjának létrehozásának folyamata az eredeti objektumhoz hasonló új példány megjelenítésével és a meglévő objektum nem statikus tagjainak a klónba másolásával. Az értéktípus tagjai apránként másolódnak, míg a referencia típus tagjai úgy, hogy a hivatkozott objektum és annak klónja ugyanazon objektumra vonatkozzon.

Általában a sekély másolatot akkor kell használni, ha a teljesítmény egyike a követelményeknek, azzal a feltétellel, hogy az objektum nem lesz mutálva az alkalmazás során. A változatlan adatokat tartalmazó klón átadásával kiküszöbölhető a bármilyen kód általi sérülés lehetősége. A sekély másolás hatékonynak bizonyul, ha az objektumhivatkozások lehetővé teszik az objektumok átadását memóriacím alapján, így a teljes objektumot nem kell lemásolni.

A sekély másolatot tag-példánynak is nevezik.

A Techopedia magyarázza a Sekély Másolatot

A sekély másolás hasonló a mély másoláshoz, amikor az objektum minden egyes tagja hozzá van rendelve egy másik objektumhoz, de ez különbözik a referenciatípus mezőjének másolásának módjától. A sekély másolatoktól eltérően, ahol csak a referenciát másolják, mély másolatban, a hivatkozott objektum új példánya jön létre.

Vegyünk például egy alkalmazott objektumot, amely a személyes adatok részleteit tartalmazza, ideértve a több alkalmazott címeit tároló címobjektumok listáját. Az alkalmazotti objektum sekély másolatának elkészítésével létrehozható az alkalmazott objektum klónja, hivatkozással ugyanazon címobjektumok listájára, amelyek az eredeti alkalmazott objektum tulajdonában vannak.

A sekély másolás végrehajtásának módszerei a következők:
  • Hívja az objektum MemberwiseClone módszerét
  • Készítsen klónt manuálisan egy unalmas módszerrel, amely unalmas, de könnyen irányítható
  • Használjon olyan reflexiós technikát, amely automata lehetőséget biztosít a sekély másolás elvégzésére, de a teljesítmény felett
  • Használjon olyan sorosítási módszert, amely lassabb, mint a reflexió, de automatizált és egyszerű
A sekély másolat nem használható, ha az objektum referenciatípusú tagjai gyakran módosulnak. Ezt a meghatározást a C # összefüggésben írták
Mi a sekély másolat? - meghatározás a techopedia alapján