title: Is a good practice left an empty interface?
body: <p>This time, I'm gonna create a math problems. I plan to have a dictionary where the key is Levels enum {Easy, Medium, Hard} and value should contain some configuration about how to create the problems.</p>
  
  <p>For example:</p>
  
  <pre><code>BinaryProblemConfiguration
      + Bound1 : Bound&lt;int&gt;
      + Bound2 : Bound&lt;int&gt;
  </code></pre>
  
  <p>Bound has two properties: min and max.</p>
  
  <p>Others types of problems don't need Bounds, but need other data. </p>
  
  <p>So, I was thinking create a interface called IConfiguration.</p>
  
  <pre><code>public interface IConfiguration {}
  </code></pre>
  
  <p>And concrete Configurations should be:</p>
  
  <pre><code>public class BinaryProblemConfiguration : IConfiguration
  {
      public Bound Bound1 {get;set;}
      public Bound Bound2 {get;set;}
  }
  
  public class AnotherProblemConfiguration : IConfiguration
  {
      // other stuff
  }
  </code></pre>
  
  <p>The idea is to have a dictionary called ConfigurationLevels. Is this a good practice left the interface empty or means is wrong with my design? </p>