title: what kind of factory pattern to implement when methods accept different signatures?
body: <p><strong>How do I define a factory whose implementations may accept different numbers of parameters?</strong></p>
  
  <pre><code>public abstract class CarFactory
  {
      public abstract void countStuff(??); //not sure how to define this
  }
  </code></pre>
  
  <p>I would like the factory to be able to create different objects like:</p>
  
  <pre><code>public class BMW : CarFactory
  {
    public override void countStuff(param1, param2) {}
  }
  
  public class Ford : CarFactory
  {
      public override void countStuff(param1) {}
  }
  </code></pre>