Patterns for Replacing Global Variables - Reduce Scope of Global

The closest I can come to this one is Reduce Scope of Variable.

Add Parameter from Refactoring by Fowler (buy it if you don't own it) and Introduce Parameter Object are also related patterns.

The downside to this pattern combination is that it can affect large numbers of methods and may be incorrect if the global is used to create a side effect. Essentially this is an out parameter, but with unknown scope.

Summary: Good, but hard to predict where side effects are implied.