Antarmuka Objek Persisten
Objek persisten mengimplementasikan satu atau beberapa antarmuka objek persisten . Klien menggunakan antarmuka objek persisten untuk memberi tahu objek tersebut kapan dan di mana menyimpan statusnya. Semua antarmuka objek persisten berasal dari IPersist, sehingga objek apa pun yang mengimplementasikan antarmuka objek persisten apa pun juga mengimplementasikan IPersist.
Antarmuka objek persisten berikut saat ini ditentukan:
- IPersistStream
- IPersistStreamInit
- IPersistStorage
- IPersistFile
- IPersistMoniker
- IPersistMemory
- IPersistPropertyBag
Pelaksana memilih antarmuka objek persisten mana yang didukung objek tergantung pada bagaimana objek akan digunakan. Dengan tidak mendukung antarmuka objek persisten apa pun, pelaksana secara efektif mengatakan, "Status objek ini tidak dapat disimpan secara terus-menerus." Dengan mendukung satu atau beberapa antarmuka objek persisten, pelaksana secara efektif mengatakan, "Status objek ini dapat disimpan secara terus-menerus dalam satu atau beberapa media penyimpanan data."
Misalnya, tabel berikut mencantumkan beberapa jenis objek yang memungkinkan dukungan untuk antarmuka objek persisten yang berbeda.
Golongan | Antarmuka objek persisten biasanya didukung |
---|---|
Moniker |
IPersistStream |
Objek yang dapat disematkan OLE |
IPersistStorage, IPersistFile |
Kontrol ActiveX |
IPersistStreamInit, IPersistStorage, IPersistMemory, IPersistPropertyBag, IPersistMoniker |
Objek dokumen ActiveX |
IPersistStorage, IPersistFile |
Pelaksana klien juga dapat memilih antarmuka objek persisten mana yang dapat digunakan klien. Antarmuka yang digunakan klien biasanya ditentukan oleh tempat klien dapat menyimpan datanya sendiri. Klien yang dapat menyimpan datanya hanya dalam file datar mungkin hanya akan menggunakan IPersistStreamInit, IPersistMoniker, dan IPersistPropertyBag. (IPersistStreamInit dapat menggantikan IPersistStream di sebagian besar aplikasi, karena berisi definisi tersebut dan menambahkan metode inisialisasi.) Klien yang dapat menyimpan datanya ke file penyimpanan terstruktur, selain itu, menggunakan IPersistStorage.