title: Where Should Data Transfer Objects (DTOs) be declared in a layered application using DDD
body: <p>I used to have my DTOs declared in the Domain Layer. But that was before I later understood that the Application Layer should pass in primitives to the Domain Layer to instantiate Domain Model Entities, not DTOs. Now that I know this, I have no use for DTOs being declared in the Domain Layer.  </p>
  
  <p>Since my Application Layer has Application Services which convert data to and from DTOs to get data to various layers, I'm thinking that the DTO's might as well be declared in the Application Layer.  </p>
  
  <p>So, is the Application Layer typically where the DTO's should be declared?</p>
  
  <p>Thanks in advance.</p>
  
  <p>Update: 02/25/2016
  I will be defining the interfaces for my Application Services in the Application Services Layer based on the following quote from the .NET Application Architecture Guide, 2nd Edition: "Within the service layer, you define and implement the service interface and the
  data contracts"..</p>