В каких случаях или для каких типов алгоритмов вы начинаете использовать свои объекты в качестве структуры данных с методами вне объектов (например: обход дерева и т. Д ...).
Какую схему вы используете? (Посетитель? Сопоставление с образцом?)
Или вы думаете, что объект всегда должен быть единственным, которому разрешено воздействовать на свои собственные данные?