2013-07-22 5 views
-1

Heads-up: это вопрос новичка, поэтому я надеюсь, что смогу сделать свой вопрос достаточно ясным, и я также надеюсь, что это имеет смысл вообще :) Я потратил некоторое время на поиск ответа в Интернете, не мог На самом деле это получается.Как кодируется eBay-элемент?

Мне вообще интересно, как иерархия объектов закодирована в eBay (или аналогичной). Я опишу вопрос на примере:

рассмотрим раскладной диван. В дереве (в данном случае больше DAG), я думаю, у него есть родители, такие как «кушетка» и «кровать», и поэтому наследует атрибуты дивана и кровати. Предположим, что у него есть атрибут «количество мест» и атрибут «спальные измерения».

Итак, мой конвертируемый кушетка представляет собой экземпляр класса ConvertibleCouch, который наследуется от классов «Couch» (где будет определено количество мест) и «Bed» (где будут определены «размеры сна») или это экземпляр более общего класса «Предмет», который имеет методы поиска в базе данных для соответствующих атрибутов и получения/установки их с помощью класса «Атрибуты»?

Мне очень жаль, что я не могу сделать свой вопрос более ясным, пожалуйста, спросите подробности, если это не имеет смысла!

Большое спасибо!

EDIT:

Я вообще интересно, о лучшем способе определения атрибутов элементы в этом контексте и как воспользоваться иерархии (или категории). Например, элемент должен иметь атрибут «автор», если элемент является кушеткой. С другой стороны, кушетка и конвертируемая кушетка должны иметь множество атрибутов для совместного использования. Поэтому мой вопрос переводится следующим образом: следует ли кодировать эту информацию «получить соответствующие атрибуты, данные данной категории», используя классы, которые наследуют друг от друга на основе иерархии категорий или должны быть записаны в базе данных, что кушетка имеет «цвет», «количество мест», «ширина» и т. д., но не «автор», и к нему можно обращаться с помощью метода item.get_attributes ('couch')?

+0

Почему вы думаете, что eBay будет использовать наследование ООП для классификации товаров для продажи? Это был бы ужасный дизайн. – geoffspear

+0

Как я уже сказал, новичок здесь! Так что давайте не будем скупым и объясним, почему это будет ужасный дизайн? Я также сказал, что не знаю, был ли вообще вопрос, я считаю, что ваш комментарий довольно непродуктивен и действительно не хорош (как и -1)! – cenna75

+0

Вы сталкиваетесь с реальной проблемой программирования? На каком языке вы используете? Почему, по вашему мнению, дизайн ebay имеет отношение к вашей проблеме? – geoffspear

ответ

1

Я думаю, что могу предложить вам определенную ясность.

«Я вообще интересно, как иерархия объектов кодируется в eBay»

С Ebay является закрытым исходным кодом кусок программного обеспечения, мы можем только догадываться о том, как он закодирован. Я думаю, что ebay имеет первый пользовательский объект. Объект «пользователь» имеет ссылки на множество элементов в базе данных, элементы, которые этот конкретный пользователь либо продает, либо торгует. Элементом может быть что-то продаваемое, или что-то, что делает ставку, и, вероятно, имеет «атрибут владельца», к которому можно получить доступ, используя геттер, но устанавливаемый только один раз во время первоначального перечисления элемента. Каждый элемент, вероятно, имеет ссылку на коллекцию ставок на него, в которой есть ссылки на то, что пользователь разместил на них, какое время и сколько ставки на самом деле.

«Итак, мой кабриолет диван экземпляр класса„ConvertibleCouch“ , который наследует от классов„Couch“»

В зависимости от того, как кодируются иерархия, я предположил бы, что ваш ConvertibleCouch класс имеет иерархию, как:

Item> Кушетка> ConvertibleCouch

Так что да, это экземпляр ConvertibleCouch, но создание экземпляра подкласса также создает экземпляр этого родительский класс. В конструкторе подкласса также вызывается конструктор родительского класса.

В следующем примере C# MSDN Inheritance, в C# состоит из: родительского класса А и класс В, который наследует A.

public class A 
{ 
    public A() { } 
} 

public class B : A 
{ 
    public B() { } 
} 

Подкласс по своей сути создает экземпляр это родительский класс, так как ConvertibleCouch еще технически экземпляр дивана.

Опять же, мы можем только догадываться о том, как это делает ebay. Надеюсь это поможет!

+0

спасибо, это помогает! Я отредактировал вопрос, так что если у вас есть замечания, не стесняйтесь добавлять их :) – cenna75

Смежные вопросы