whirlwind
TDD infected, paranoid
>одни и те же люди выступают в различных ролях
соответственно обладают не только различными "поведениями", но и ДА-Объекты будут другие...
Вот здесь "не так"
Поведение объекта - это поведение объекта. На то она и инкапсуляция, чтобы собрать поведение и атрибуты. ORM класс - это точно такой же класс как и любой другой, только у него есть способность сохраняться дольше чем время работы программы. Вот и вся разница.
Я в таких случаях всегда рассматриваю жизненные примеры. Как бы ты не одевал человека, какие бы ты ему девайсы не сувал в руки для более эффективного выполнения поставленной задачи, человек останется человеком и лично человеческие возможности ограничены. А по твоей схеме получается что методы человека реализованы в его одежде или в компьютере, которым он пользуется. Фактически у тебя объявленная модель, это просто декларация - 2 руки, 2 ноги, одна голова. А нафига они нужны - об этом история умалчивает
-~{}~ 26.07.06 11:04:
PS. так как ты разделяешь - это процедурное программирование, а не ООП. Это там нельзя привязать данные к функционалу, по этому там сущность и предметная области разделены. Мы просто передаем в функцию экземпляр какой либо структуры, но эта функция не привязана к экземпляру.
-~{}~ 26.07.06 11:06:
А когда
> одни и те же люди выступают в различных ролях
Это уже дизайн. Например Strategy/State
соответственно обладают не только различными "поведениями", но и ДА-Объекты будут другие...
Вот здесь "не так"
Поведение объекта - это поведение объекта. На то она и инкапсуляция, чтобы собрать поведение и атрибуты. ORM класс - это точно такой же класс как и любой другой, только у него есть способность сохраняться дольше чем время работы программы. Вот и вся разница.
Я в таких случаях всегда рассматриваю жизненные примеры. Как бы ты не одевал человека, какие бы ты ему девайсы не сувал в руки для более эффективного выполнения поставленной задачи, человек останется человеком и лично человеческие возможности ограничены. А по твоей схеме получается что методы человека реализованы в его одежде или в компьютере, которым он пользуется. Фактически у тебя объявленная модель, это просто декларация - 2 руки, 2 ноги, одна голова. А нафига они нужны - об этом история умалчивает
-~{}~ 26.07.06 11:04:
PS. так как ты разделяешь - это процедурное программирование, а не ООП. Это там нельзя привязать данные к функционалу, по этому там сущность и предметная области разделены. Мы просто передаем в функцию экземпляр какой либо структуры, но эта функция не привязана к экземпляру.
-~{}~ 26.07.06 11:06:
А когда
> одни и те же люди выступают в различных ролях
Это уже дизайн. Например Strategy/State