title: Must Inject the Specifications on Business Layer?
body: <p>I'm trying to learn somethings about Dependency Injection and Specification Pattern.</p>
  
  <p>If I have this scenario: I have three methods and they have different validation rules. This rules are validated by Specifications. So... My class must receive on the constructor these Specifications like this?</p>
  
  <pre><code>public PostService(IRepositorio rep, ISpecificationSave ss, SpecificationGet g, ISpecificationDelete sd) { 
    // do things...
  }
  </code></pre>
  
  <p>But if is this correct, when I add a new method, I need to change de constructor to receive more one Specification?</p>
  
  <p>Or, even using Dependency Inject, is better, in this case, create an instance of Specification on method how's use the Specification like that:</p>
  
  <pre><code>public void DoSomeThing(MyObject object) {
       Specification&lt;MyObject&gt; specification = new Specification&lt;MyObject&gt;();
       // do things...
  }
  </code></pre>
  
  <p>I know the question is simple for some one of you, but I'm trying to learn those kinds of patterns yet. </p>