Cuál es la diferencia entre objetos de dominio, POCO y entidades?
Tenía la impresión de que todos son básicamente lo mismo. ¿Los objetos modelo también son iguales?
Ahora mismo, en mi arquitectura, tengo:
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
}
}
Entonces, ¿cuál de las clases anteriores sonPOCO
, Domain Object
, Model object
, entity
?