Ayna (programmalastırıw)

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 etediGilad Bracha and David Ungar, "Meta-level Facilities of Object-Oriented Programming languages".

 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 

 Dart, óziniń reflect funkciyası arqalı.
 Inko, óziniń std::mirror moduli arqalı.
 Rubinius (Ruby implementaciyası), óziniń Rubinius::Mirror.reflect metodı arqalı.
 Scala
 Swift, óziniń reflect funkciyası arqalı.

 Derekler 

Kategoriya:Programmalastırıw paradigmaları
__BÖLİDİMÖNDEMEW__