title: DDD Bounded Contexts with Onion Architecture
body: <p>I have the following <code>Onion Architecture</code> framework.</p>
  
  <ul>
  <li><code>Domain</code>
  <ul>
  <li><code>Entities</code> - For my domain entities</li>
  <li><code>Interfaces</code> - For my domain interfaces</li>
  <li><code>Services</code>  - For my domain services</li>
  </ul></li>
  <li><code>Infrastructure</code>
  <ul>
  <li><code>Data</code> - For <code>Fluent NHibernate</code> persistence</li>
  <li><code>Interfaces</code> - For infrastructure interfaces</li>
  <li><code>Logging</code> - Just an interface for logging in case I want to switch out my logging library to something else.</li>
  <li><code>Dependency Resolution</code> - Most of my <code>IoC</code> registrations goes in here.</li>
  </ul></li>
  <li><code>Services</code>
  <ul>
  <li><code>Interfaces</code> - Application service interfaces goes in here, they will get implemented in the <code>UI</code> project.</li>
  </ul></li>
  <li><code>Tests</code> 
  <ul>
  <li><code>Infrastructure Tests</code> - For testing infrastructure services etc.</li>
  <li><code>Domain Tests</code> - For testing domain models and services</li>
  </ul></li>
  <li><code>Web</code>
  <ul>
  <li><code>UI</code> - User interface project where I implement application services, user interface, etc ...</li>
  </ul></li>
  </ul>
  
  <p>With <code>Domain Driven Development</code> one would identify the <code>Bounded Contexts</code>. Most of the literature on the internet states that each <code>Bounded Context</code> needs to be abstracted into their own project or namespace.</p>
  
  <ol>
  <li>Is my approach then incorrect for having all my <code>Domain Models</code> in one project and all my <code>Domain Services</code> in another project? Does it really matter not having different bounded context's in different namespaces or projects?</li>
  <li>If you have a <code>Model A</code> which is used my <code>Bounded Context A</code>, but  <code>Bounded Context B</code>, <code>Bounded Context C</code>, etc also needs to use the exact same <code>Model A</code>, Do you allow them to use that exact same model, or do you create a new model for each <code>Bounded Context</code>? </li>
  </ol>
  
  <p>I am new to DDD so sorry if this question is a dumb question. I find myself understanding something better if I ask a question and get a good explanation as an answer.</p>
  
  <p>Any Help will be much appreciated.</p>