Supponiamo di volere un oggetto con un elenco di stringhe e ogni metodo che viene passato a questo oggetto per aggiungere il suo nome all'elenco di stringhe. Fondamentalmente si tratta di una traccia di stack, tranne che a differenza di una traccia di stack che conserva una traccia di ovunque sia stata precedentemente.
Per fare questo, dovrei mettere il codice in ogni metodo che passa attraverso se stesso, ma se passasse attraverso metodi che non sapevano di aggiungere se stessi allora ovviamente non avrebbe un record di avere passati attraverso questi metodi.
Sarebbe bello se fosse possibile rendere un oggetto consapevole, per così dire, dei metodi che attraversa, ma non credo che lo sia. Ma mi chiedo se ci sia un altro modo per ottenere una registrazione di tutti i metodi attraverso cui passa l'oggetto, inclusi quei metodi che non sanno aggiornare l'oggetto?
EDIT: Attualmente, penso che il modo migliore per risolvere questo problema sia quello di rendere qualsiasi proprietà / metodo a cui si accede sull'aggiornamento dell'oggetto stesso in quel momento. ovviamente questo non prenderebbe punti che passa semplicemente senza essere accessibile.