I was under the impression they are all basically the same. Are model objects also the same?
Right now, in my architecture, I have:
class Person
{
basically it comes down to internal logic
They are all basically used for the same thing, it's just how smart you want them to be
according to your code sample The Person class would be a domain object or a model, the other 2 are a service and a repository. Domain objects, Pocos, models, dtos, etc. are used like messages, passed from one layer to the next, a service class like PersonService is a layer in the application and the same with the Repository class like PersonRepository. for a good over view take look at http://bob-the-janitor.blogspot.com/2009/07/n-tier-design-revisit-part-1-over-view.html in this case it's talking about using a data entity which is basically a dto