Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Brindeew                      2:5020/400     18 Dec 2002  15:05:16
 To : Artem Chuprina
 Subject : Re: Strong OO-programming & SQL databases
 -------------------------------------------------------------------------------- 
 
 On Tue, 17 Dec 2002 17:11:19 +0000 (UTC)
 Artem Chuprina <ran@ice.ru> wrote:
 
 > AB> Как в конструкторе создать несколько экземпляров класса Object::Good
 > Если их создается несколько, то это уже не конструктор, а factory.
 
 Точно, пардон за путаницу с точки зрения терминологии.
 
 > Основная идея - factory отбирает нужные записи, а потом зовет конструкторы уже
 > не на на основании базы, а на основании готовых данных.
 
 А как поступить, если те конструкторы, которые потом ты предлагаешь "звать"
 с уже готовыми данными, находятся глубоко вниз по дереву наследования и
 сами могут вызываться как первичные?
 
 Поясню: есть Object::Catalog (представление каталога категорий чего-либо
 как целого), Object::Catalog::Category (конкретная категория как она есть,
 интерфейсы для ее удаления, изменения атрибутов), Object::Good &
 Object::Good::Category - у него в @ISA стоит Object::Catalog::Category, а
 существенно переопределяется только удаление - в СУБД должна удаляться не
 сама категория каталога, а привязка (из таблицы *_cats, задающей отношение
 многие-ко-многим) объекта к ней. Поэтому все переопределение factory
 сводится к переименованию передаваемых параметров и вызову с ними
 $classname->SUPER::new(%p) . Приходим к тому, что factory класса
 Object::Catalog::Category долна принимать как уже готовые данные для
 порождения объектов, так и список id. Это является нормальным?
 
 > Так надо передавать не WHERE, а внятное с точки зрения твоей конструкции
 > условие. Из которого в factory генерировать WHERE.
 
 Меня интересует - есть ли уже подобные готовые механизмы в районе CPAN?
 Потому как генерация WHERE (при наличии нескольких таблиц, алиасов и
 join'ов для меня пока несколько затруднительна).
 
 > Соответственно, покусать на части. Если подобное встречается часто, то сделать
 > свой промежуточный слой, который будет бить список на кусочки, дергать базу
 > несколько раз, суммировать результаты и возвращать просуммированное.
 
 Понятно. :-(
 Я думал есть менее извратные методы решения этой проблемы.
 
 -- 
 WBR, Andrey Brindeew.
 "No one person can understand Perl culture completely"
 (C) Larry Wall.
 --- ifmail v.2.15dev5
  * Origin: MTU-Intel ISP (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Strong OO-programming & SQL databases   Andrey Brindeew   17 Dec 2002 18:59:26 
 Re: Strong OO-programming & SQL databases   Artem Chuprina   17 Dec 2002 21:11:19 
 Re: Strong OO-programming & SQL databases   Andrey Brindeew   18 Dec 2002 15:05:16 
 Re: Strong OO-programming & SQL databases   Artem Chuprina   20 Dec 2002 21:09:21 
Архивное /ru.perl/2825642bd80e.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional