title: DDD - Should entities create entities?
body: <p>In my domain I might have a entity called <code>User</code> that represents a person and <code>Tenant</code>, an entity that represents a business.</p>
  
  <p>One might think that this is a administrative user, and as such, it should be able to register new users, which in terms of code would be translated to basically 3 forms:<br>
  -<code>adminUserInstance.CreateUser(newUserDTO);</code><br>
  -<code>tenantInstance.CreateUser(newUserDTO)</code><br>
  -<code>newUserInstace.SelfSave()</code>  </p>
  
  <p>Being <code>newUserInstace.SelfSave()</code> a necessity because of self-registration, does the other two make sense? Should i keep only the self registration and turn to a model of affiliation, where the same user can be part of multiple tenants?</p>
  
  <p>In broader terms: should <code>Questions</code>/<code>Answers</code> be created by <code>Users</code> or self created and then tied to a given <code>User</code>? and on even broader terms: Should entities hold the knowledge to create other (not any-others) entities or the entities should be able to create themselves and have the "requester", for example, call a domain service that will bundle them up?</p>