Nesneye Yönelik Programlama (OOP) ile başlıyorum ve bilmek istiyorum: OOP parlance serileştirmenin anlamı nedir?
Nesneye Yönelik Programlama (OOP) ile başlıyorum ve bilmek istiyorum: OOP parlance serileştirmenin anlamı nedir?
Yanıtlar:
Serileştirme, bellekteki bir nesneyi bayt akışına dönüştürme işlemidir, böylece diske depolamak veya ağ üzerinden göndermek gibi şeyler yapabilirsiniz.
Deserialization ters işlemdir: bayt akışını bellekteki bir nesneye dönüştürmek.
Marshal
ve Unmarshal
eş anlamlı Serialize
ve Deserialize
.
abc
, 0x61 0x62 0x63
(ASCII) veya 0x00 0x61 0x00 0x62 0x00 0x63
(UTF16) olarak serileştirilir - NUL sonlandırıcıları veya kodlanmış uzunluklar gibi veya bunlar olmadan.
Basitçe ifade etmek gerekirse Serileştirme , bir Nesneyi bayt akışına dönüştürme işlemidir, böylece bir ağ üzerinden aktarılabilir veya kalıcı bir depoda saklanabilir.
Diziselleştirme tam tersidir - Ağ veya kalıcılık deposundan bir bayt akışı alın ve aynı duruma sahip Nesneye geri dönüştürün .
Anlaşılması gereken şey, bu bayt akışının nasıl yorumlandığını veya manipüle edildiğini, böylece aynı Nesne / aynı durumu elde ettiğimizi. Bunu başarmanın çeşitli yolları vardır. Onlardan bazıları -
Serializable interface
ve Nesne Akışı'na yazabilirsiniz.JSON
sıfırdan öğrenmem için bir link de verebilir misiniz , çünkü hakkında hiçbir şey bilmiyorum
Diyelim ki telefonda arkadaşımla konuşuyorum ve ona yeni köpek yavrusu hakkında söylüyorum.
İşte benim sorunum: köpek yavrusu yaşayan, nefes alan bir memelidir. Nasıl bir köpek yavrusu telefon hattı üzerinden taşımak için? Yavru köpeğimi fiziksel olarak telefon alıcımın içine koyamıyorum.
Bunun yerine, köpek yavrusu temsilini telefon üzerinden iletmem gerekecek. Başka bir deyişle, köpeğimi Rex'i serileştirdim ve ona Rex'in serileştirilmiş versiyonunu telefon hattı üzerinden gönderiyorum:
{ "name":"Rex", "age":5, "favourite_food": pedigree_choice_cuts, "favourite_game": fetch_ball, "favourite_hobby": wagging_tail }
Mükemmel bir temsil - köpeğimin bir serileştirmesi.
Serileştirme temel olarak köpeğimi Rex'i başka bir şeye (JSON nesnesi) dönüştürmek anlamına gelir, bu da telefon hattı üzerinden 1s ve 0s serisi olarak taşınabilir. NYC'deki arkadaşım daha sonra bu 1'leri ve 0'ları bir JSON nesnesine çevirebilir - böylece köpeğimin Rex'inin mükemmel bir temsilcisine sahip olur.
Şuna bir bakın, bu size iyi bir açıklama verecektir:
http://en.wikipedia.org/wiki/Serialization
Serileştirmenin en yaygın kullanımının, bir veritabanında / dosyada depolanabilmesi veya bir web hizmeti çağrısında ağ üzerinden gönderilebilmesi için bir ikili nesnenin XML (veya başka bir dize) gösterimine dönüştürülmesi ile ilgili olduğunu düşünüyorum. Deserialization ters işlemdir - XML / dizgiyi bir nesneye geri dönüştürür.
EDIT: Karşılaşabileceğiniz başka bir terim marshalling / unmarshalling. Marshalling temel olarak serileştirme ile aynı kavramdır ve uyumsuzluk deserialize etme ile aynıdır.
Serileştirme, nesneyi depolamak veya belleğe, veritabanına veya bir dosyaya iletmek için bir nesneyi bayt akışına dönüştürme işlemidir . Temel amacı, gerektiğinde onu yeniden oluşturabilmek için bir nesnenin durumunu kaydetmektir. Tersine işleme serileştirme denir.
...
Bu şekilde genel serileştirme süreci gösterilmektedir
...
Serileştirme yoluyla bir geliştirici, nesneyi bir Web Hizmeti aracılığıyla uzak bir uygulamaya göndermek, bir nesneyi bir etki alanından diğerine geçirmek, bir nesneyi güvenlik duvarından XML dizesi olarak geçirmek veya güvenliği veya kullanıcıya özgü tutmak gibi eylemler gerçekleştirebilir uygulamalar arasında bilgi
Gönderen https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/
(benimkini vurgula)
Serileştirme , sırasız verileri (bir nesne gibi), daha sonra orijinal verileri yeniden yapılandırmak için kullanılabilecek bir dizi token'a dönüştürme işlemidir . Serileştirilmiş form çoğunlukla bir metin dizesidir, ancak olması gerekmez.
serileştirme bir nesneyi depolanabilir bit dizisine dönüştürüyor.
böylece bu diziyi bir dosyaya kaydedebilir, db veya ağ üzerinden gönderebilirsiniz.
daha sonra gerçek nesnenin serisini kaldırabilir ve istediğiniz zaman yeniden kullanabilirsiniz.
Web Hizmetleri ve AJAX serileştirmenin en yaygın örneğidir. İstemciye yanıt göndermeden önce nesneler serileştirildi.
serileştirme, java destekli nesneyi dosya destekli forma aktarmaktan başka bir şey değildir
(OR)
Java destekli formu ağ destekli forma dönüştürme ... serileştirmenin ana kapsamı, verileri bir katmandan başka bir katmana aktarmaktan başka bir şey değildir ... sadece ağ üzerinden gönderebileceğimiz serileştirilmiş nesneler ..
Serileştirme, Java, C # veya başka (OOP dilleri) desteklenen bir nesneyi taşınabilir bir forma dönüştürme işlemidir. Bu şekilde ağ üzerinden taşınır veya bir diskte saklanır. Bir sınıfın serileştirilebilmesi için serileştirilebilir arabirim uygulaması gerekir.
Serileştirme, verileri doğrusal bir bayt dizisine dönüştürüyor.
Diğerleri aşağı yukarı aynı şeyi söylediler, ancak bilgisayar modellerinin verilerin tek boyutlu olarak ele alınan RAM'e veya kalıcı depolama alanına sığmasını gerektirdiğini vurguluyorum.
"Veri" olan çoğu şey doğası gereği serileştirilebilirdir (soyut modeli doğrusal bir biçime indirmeniz gerekse bile); serileştirilemez bir ağ bağlantısı veya ayrıştırıcı gibi karmaşık bir durum tabanlı makine söylenir.
serileştirmenin ikili bir nesneyi bir XML (veya başka bir dize) temsiline dönüştürmeyle ilgisi vardır, böylece bir veritabanında / dosyada saklanabilir veya bir web servis çağrısında ağ üzerinden gönderilebilir. Deserialization ters işlemdir - XML / dizgiyi bir nesneye geri dönüştürür.
Gerçek nesneyi (şey) bir sınıftan (plan) somutlaştırırken (inşa ederken), nesneyi (şey) serileştirerek (temel atomik yapısına bölerek) bellekteki bir boşluğa kaydetmeye ihtiyaç vardır. (Star Treks Transporter gibi). Bir yere aktarılabilecek ve depolanabilecek bilgi akışını parçalara ayırıyorsunuz. Sonra şeyi yeniden yapılandırmak istediğinizde, sadece atomik olarak saklanan örneği nesneye geri çekersiniz. Anlamadan farklı.
Serileştirme, bir nesneyi ikili veri akışına dönüştürme işlemidir, böylece bir dosyada saklanabilir veya aynı nesneye geri döndürülebileceği bir ağ üzerinden gönderilebilir.
Bu belge, Java serileştirmesini ayrıntılı olarak anlamanıza yardımcı olmalıdır.
Serileştirme, nesnenin durumunun dosyaya kaydedilebildiği durumlarda (örnek olarak) nesnenin (bellek yığını) bir forma çevrildiği zamandır.
Sadece kurabiye yapmak gibi davranın - nesne bir hamur, kurabiye - serileştirilmiş bir hamurdur.
Yani "serileştirerek" arkadaşınıza çerez gönderebilirsiniz.
Bunun gibi bir şey :-)