title: Empty abstract class / interface sign of bad design?
body: <p>I have the following class structure:</p>
  
  <p><img src="https://i.stack.imgur.com/hbAAX.png" alt="enter image description here"></p>
  
  <p>The fact is that each request does not share anything as when I process the requests I do a <code>typeof</code> / <code>cast</code>. The reason to have the empty root class is to limit at compile time which classes you can pass to the method processing the requests:</p>
  
  <pre><code>void ProcessRequest(Request request)
  </code></pre>
  
  <p>Is this design flawed somehow? It feels strange to me to have an empty root class / interface.</p>