title: Varying parameters in strategy pattern
body: <p>Sometimes when using the strategy pattern I find some of the algorithm implementations do not require the same parameter list.</p>
  
  <p>For example</p>
  
  <pre><code>    public interface Strategy{
       public void algorithm(int num);
      }
  
      public class StrategyImpl1 implements Strategy{
       public void algorithm(int num){
         //num is needed in this implementation to run algorithm
       }
      }
  
      public class StrategyImpl2 implements Strategy{
       public void algorithm(int num){
         //num is not needed in this implementation to run algorithm but because im using same
         strategy interface I need to pass in parameter
       }
  
  }
  </code></pre>
  
  <p>Is there a different design pattern I should use ?</p>