Здравствуйте, Аноним, Вы писали:
А>В домене имеем класс и его подклассы:
А>...
А>В рич модели все просто, весь код в методах соответствующих типов. И при итерации по колекции я просто вызываю метод. А как подобное сделать на анемике? Подскажите пожалуйста.
Я не бог весть какой архитектор в части Rich/Anemic, но сдается мне, что нужно для начала определиться какую функцию у тебя выполняет класс "Notepad" и его подклассы: хранит данные или агрегирует в себе методы обработки данных.
Допустим "Notepad" — хранит данные, т.е.
class Notepad
{
public string Field1 { get; set; }
public int Field2 { get; set; }
...
}
Тогда, с точки зрения Anemic, нужно завести второй класс, агрегирующий методы обработки Notepad:
class NotepadService
{
public abstract bool AddNote(Notepad mp, string text);
...
}
А вот в части наследования надо вообще еще очень хорошо подумать: надо ли оно в данном конкретном случае?
Если надо, то что именно должно наследоваться: контейнер данных (производные классы будут иметь дополнительные поля), или сервис (методы разные), или и то и другое.
В общем настледование — отдельная песня.
Красота — наивысшая степень целесообразности. (c) И. Ефремов