Sisällysluettelo:
Määritelmä - mitä matala kopio tarkoittaa?
Matala kopio C-muodossa on prosessi, jolla luodaan kohteen klooni tuomalla esiin uusi samantyyppinen esiintymä kuin alkuperäinen objekti ja kopioimalla olemassa olevan objektin ei-staattiset jäsenet klooniin. Arvotyypin jäsenet kopioidaan bitti kerrallaan, kun taas vertailutyypin jäsenet kopioidaan siten, että mainittu kohde ja sen klooni viittaavat samaan kohteeseen.
Yleensä matalaa kopiota käytetään, kun suorituskyky on yksi vaatimuksista, samoin kuin sillä ehdolla, että objektia ei mutatoida koko sovelluksen ajan. Ohittamalla muuttumattomia tietoja sisältävä klooni, minkä tahansa koodin vioittumismahdollisuus poistuu. Matala kopio on todettu tehokkaaksi, kun objektiviitteet sallivat objektien siirtämisen muistiosoitteen ympäri, joten koko objektia ei tarvitse kopioida.
Matala kopio tunnetaan myös jäsenkorttina.
Techopedia selittää matalan kopion
Matala kopio on samanlainen kuin syväkopio, kun objektin jokaisella jäsenellä on toinen kohde, mutta se eroaa referenssityypin kentän kopiointitavasta. Toisin kuin matalassa kopiossa, jossa viite kopioidaan vain, syväkopiona luodaan uusi kopio viitetystä objektista.
Harkitse esimerkiksi työntekijäobjektia, joka sisältää tietoja henkilökohtaisista tiedoista, mukaan lukien luettelo osoiteobjekteista, jotka tallentavat useita työntekijän osoitteita. Suorittamalla työntekijäobjektin matala kopio voidaan luoda työntekijäobjektin klooni viittauksilla samaan alkuperäisen työntekijäobjektin omistamien osoiteobjektien luetteloon.
Menetelmiä matalan kopion tekemiseksi ovat:- Kutsu kohteen MemberwiseClone-menetelmä
- Luo klooni manuaalisesti räätälöidyn menetelmän avulla, joka on työläs, mutta helppo hallita
- Käytä heijastustekniikkaa, joka tarjoaa automatisoidun mahdollisuuden suorittaa matala kopio, mutta suorituskyky yläpuolella
- Käytä sarjamenetelmää, joka on hitaampaa kuin pohdinta, mutta automatisoitu ja yksinkertainen
