OOPSLA'04: Mirrors

mirror.jpg

More reflections on OOPSLA'04.

Gilad Bracha presented a paper cowritten with David Ungar on Mirrors, an architectural style for reflective APIs that cleanly separates meta-level and domain-level concerns - the authors term this "stratification".

Mirrors would address problems I have encountered recently: business logic had called meta-level getters and setters intended for use by the persistence layer and evolved over time into a confusing tangle of "train-wreck" statements. I imagine an OR mapper using a "persistence mirror" to view the persistent state of an object, rather than calling the object directly, and thereby dissuading programmers from using meta-level calls in domain code.

Copyright © 2004 Nat Pryce. Posted 2004-11-01. Share it.