Qual é a diferença entre objetos de domínio, POCOs e entidades?
Fiquei com a impressão de que todos são basicamente iguais. Os objetos de modelo também são os mesmos?
gora, na minha arquitetura, tenho:
class Person
{
public string PersonId;
public string Name;
public string Email;
public static bool IsVali,dName() { /* logic here */ }
public static bool IsValidEmail() { /* logic here */ }
}
class PersonService
{
private PersonRepository pRepository;
PersonService()
{
pRepository = new PersonRepository();
}
public bool IsExistingEmail(string email)
{
//calls repo method to see if email is in db
}
public Person GetPerson(email)
{
return pRepository.Get(email);
}
public void SavePerson(Person p)
{
if (Person.IsValidEmail(p.Email) && !IsExistingEmail(p.Email)
{
pRepository.Save(p);
}
}
}
class PersonRepository
{
public void Save(Person p)
{
//save to db
}
public Person Get(string email)
{
//get from db
}
public bool IsExistingEmail(string email)
{
//see if email in db
}
}
Então, quais das classes acima sãoPOCO
, Domain Object
, Model object
, entity
?