Ayna (programmalastırıw)
Kórinis
Kompyuter programmalastırıwda ayna — bul strukturası introspekciyalanatuǵın obyektkten tolıq ajıratılǵan refleksiya mexanizmi. Bul, mısalı Javadaǵı dástúrli refleksiyaǵa qarama-qarsı, bunda obyekt óziniń metodları arqalı (mısalı, getClass()) introspekciya etiledi.
Aynalar inkapsulyaciya, stratifikaciya hám ontologiyalıq sáykeslik sıyaqlı qásiyetlerge ámel etedi[1].
Artıqmashılıqları
Refleksiya mexanizmin obyektlerdiń ózinen ajıratıw bir neshe payda artıqmashılıqlarǵa jol ashadı:
- Obyekttiń interfeysi buzılmaydı, sol sebepli refleksiyalıq metodtı qayta anıqlaw arqalı refleksiyanı buzıw qáwpi joq.
- Hár túrli ayna sistemaları bolıwı múmkin.
- Ayna sistemasın tolıq alıp taslawǵa boladı (bul potencial optimallastırıwlarǵa múmkinshilik beredi).
- Ayna sisteması aralıqtaǵı kodta isley aladı, sebebi ol belgili bir mashinaǵa baylanıslı emes.
Aynalardı paydalanatuǵın tiller
Derekler
- ↑ Gilad Bracha and David Ungar, "Meta-level Facilities of Object-Oriented Programming languages"
- ↑ «Frequently Asked Questions».
- ↑ «Rubinius/Mirror.rb at master · rubinius/Rubinius».
- ↑ «Environment, Universes, and Mirrors».