Solution Technologies
Управление сайтом без ограничений

Блог разработчиков XS2

Наследование в XS2

10.04 '2008 20:27extremus

extremus, xs2vx, мечты

В традициях блогосферки - сначала оффтоп. Руководство разработчика XS2 пополнилось за последние 2 недели двумя новыми главами: про AJAX и про поле lnk (специально для Peanut).

А теперь по теме.

Задумываясь о том, что бы можно было бы реализовать в следующих версиях XS2, мы вспомнили, что для полного соответствия ООП-парадигме в XS2 не хватает наследования. Когда мы работали над первой версией XS2, помнится, этот вопрос всплыл, но никто точно не знал, как могло бы выглядеть наследование в XS2. Теперь же, когда у нас есть как собственный опыт внедрения, так и опыт партнеров, концепция наследования полностью оформилась.

Представим обычный интернет-магазин с большим количеством разнородных товаров. Для каждого типа товара мы заведем свой тип узлов со своим набором полей. Однако, такие поля как "Цена", "Количество на складе", "Производитель" и т.п. совершенно точно будут присутствовать у всех товаров. Конечно, можно просто во всех типах завести соответствующие поля с одинаковыми названиями - обычно разработчики так и поступают. Но представьте, насколько благостнее было бы создать тип "Товар", куда собрать все общие для всех товаров поля, а затем наследовать от него все типы товаров! При этом можно было бы, скажем, при выборках с помощью функций API указывать в параметре NType название самого абстрактного типа "Товары", а при этом система выбирала бы узлы всех типов, которые от него пронаследованы. При указаниее ссылок lnk наследование бы тоже срабатывало. Если для какого-то поля указано, что оно является ссылочным и допускает указание узлов типа "Товар", это означает, что в него можно указать любой из типов-наследников "Товара". Более того, методы, как в нормальном ООП, тоже можно было бы наследовать. Можно написать метод "show", который навесить на абстрактный "Товар". Однако вызывать его можно будет на любом из типов-наследников. Конечно, метод в этом случае должен быть полиморфным.

Вот такая концепция.

 
peanut / 22.04 '2008 15:40.04
Бля, грандиозная фича. Я вас люблю ребята. А пока пойду сделаю себе татуировку XS2 Forever!!! :-)

Коментарий

Имя
Текст
Защита от неграмотных
 

Новости

25.06 '2008
26.03 '2008
11.01 '2008

Пресс-релизы

12.11 '2007
27.06 '2007

Наши клиенты

В процессе создания сайта возникло очень много тонких моментов связанных со спецификой работы Интернет-магазина одежды, да вдобавок к тому же у которого есть два независимых отдела оптовый и розничный, где помимо цены изменяеются и условия продажи товара. Ни один из предложенных на других...      

Вадим Баев, Исполнительный директор ООО «Моя коллекция»www.mycollection.ru
Copyright ©1998-2008 Солютекс. Все права защищены.
Этот сайт сделан в designLab | Работает на технологии XS2
Условия использования | О защите конфиденциальности