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 .

Bibliografia