title: What is the difference between Command + CommandHandler and Service?
body: <p>I have been reading about using Command objects to represent use cases that our domain exposes, and Command Handler objects to process those commands.</p>
  
  <p>For example:</p>
  
  <ul>
  <li><code>RegisterUserCommand</code></li>
  <li><code>RegisterUserCommandHandler</code></li>
  </ul>
  
  <p>But it looks exactly the same as having a <code>RegisterUserService</code>, where the command object would represent the parameters to the <code>registerUser()</code> method.</p>
  
  <p>And of course, if the method had too many parameters, I would end up creating an object to wrap them and that object would be the same as the <code>RegisterUserCommand</code>.</p>
  
  <p>So why have a different pattern to represent the same thing? Services are widespread, not Commands (from my experience); what is the difference here that I am missing? In short, why would I use one rather than the other?</p>