Lustro (programowanie) - Mirror (programming)
W programowaniu komputerowym , o lustro jest odbiciem mechanizm, który jest całkowicie oddzielona od obiektu, którego budowa jest introspected. Jest to w przeciwieństwie do tradycyjnej refleksji, na przykład w Javie , gdzie introspekcję obiektu przeprowadza się za pomocą metod z samego obiektu (np getClass()
. ).
Lustra zachowują cechy hermetyzacji , stratyfikacji i korespondencji ontologicznej.
Korzyści
Oddzielenie mechanizmu odbicia od samych obiektów daje kilka korzyści:
- Interfejs obiektu nie jest zanieczyszczony, więc nie ma niebezpieczeństwa przerwania odbicia poprzez nadpisanie metody odbicia.
- Mogą istnieć różne systemy luster.
- System lustrzany można całkowicie usunąć (potencjalnie umożliwiając optymalizację).
- System lustrzany może działać na zdalnym kodzie, ponieważ nie jest połączony z konkretną maszyną.
Języki korzystające z luster
- Dart , poprzez funkcję odbicia .
- Inko , poprzez moduł std::mirror .
- Rubinius ( implementacja Ruby ), poprzez swoją metodę Rubinius::Mirror.reflect .
- Scala
- Swift , poprzez funkcję odzwierciedlania .