So far we have seen asymmetric relations among objects:
database/view and
abstraction/interactor.
We an also have symmetric relations wherein versions/replicas of objects
are created with some rules for synchronization.
Versions/replicas can be considered peer objects.
Peer are both observers and observables,
are of the same type (look the same externally) and may even be of the same
class (have the same internal representation.)
Example: two replicas of the budget in two processes,
each process providing local reads of the budget to its users.
Peers essentially implement distributed shared memory.