An operation depends heavily on another object's data or responsibilities. Moving the operation, or the relevant coherent part, to that object's abstraction can reduce exposed internals and misplaced coupling. The appropriate home follows responsibility and behavior, not merely the number of field references.[ref]
Move Function in the Refactoring catalog. Moving behavior to the context that serves it better
New to topics? Read the docs here!