The architecture will help us to preserve integrity of the program as we move from version to version. Applicability Use the Structure-shy Traversal pattern when An object structure contains at least two classes of objects and you want to perform operations involving a group of objects. You want to avoid polluting the classes with many simple methods. You want to plan for expected and unexpected evolution. The classes defining the object structure may change often and you may often want to define new operations over the structure.
Solution Use succinct traversal specifications for expressing the traversal strategy.
Consequences Program becomes shorter, and more reusable in many cases. Program will adapt to many changes in class structure. Structure-shy Traversal makes adding new operations easy, even with modified traversals. The Structure-shy Traversal pattern uses a powerful iterator that not only iterates through lists but through any kind of object structure. The implementation of the Structure-shy Traversal pattern can be done like the implementation of traversals with propagation patterns.