In what cases,or for what kind of algorithms, do you start using your objects as data structure with methodes outside of the objects (ie : Tree Walking, etc...).
What scheme do you use ? (Visitor ? pattern-matching ?)
Or do you think an object should always be the only one allowed to act on its own data ?