Вот аргумент против Анемичной доменной модели , представленной Мартином Фаулером (читай ссылка ).
Теперь, исходя из этого описания, можно ожидатьбизнес-объект должен иметь не только геттеры и сеттеры, но и поведение, как показано ниже.
public class Student
{
private List<Course>_courses = new List<Course>();
public string Name{get; set;}
public ReadOnlyCollection<Course> Courses {
get{ return _courses.AsReadOnly();}
}
public void Add(Course course)
{
if (course != null && _courses.Count <= 3)
{
_courses.Add(course);
}
}
public bool Remove(Course course)
{
bool removed = false;
if (course != null && _courses.Count <= 3)
{
removed = _courses.Remove(course);
}
return removed;
}
}
Но такой объект, как Student, как описано выше, не может быть правильно представлен посредством вызова службы WCF (Курсывыставляется только через свойство только для чтения).Что означало бы, что мне нужно иметь средство получения и установки курса, которое возвращает список
. Разве модель Anemic домена не подходит для WCF, а модель надлежащего домена подходит только тогда, когда клиент действительно может использовать код (Asp.net, когда на стороне сервера или в бизнес-объектах на стороне клиента при использовании Silverlight и т. д.).