Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> net shop design spring mvc + hibernate 
:(
    Опции темы
gelo86
Дата 8.8.2009, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Вот решил создать ел. магазин. Как известно каждие продыкты имеют свои параметры - телефон например gprs подержкы, а компы в сбою очередь  hdd, ram размеры. Вот и думаю как лутше реализовать модели.
Есть ы меня две идеи:

1) Все продукты в однои модели (ето просто наброски):

Код

@Entity
public class Product {
    @ ...
    privte Set<Property> properties = new HashSet<Property>();
}

@Entity
public class Property {
    private PropertyKey key;
    private String value;
}

@Entity
public class PropertyKey {
    private String name;
    private Set<Stirng> possibleValues;
}


2) Каждый продук имеэт своию модель:

Код

@Entity
public class MobilePhone {
    @Column
    private boolean gprsSupport;

    @Column
    private BigDecimal weight;

    ....
}

@Entiry
public class Computer {
    @Column
    private Integer ramSize;

    @Column
    private String osName;
    
    ...
}


* Первый вариант хорош, потому что через администратара могу создавать варианты опций параметров (PropertyKey), и не надо дла каждого продукта создовать модель + DAO + Test + ... .
* Но второй способ дает возможность для каждого продукта цоздать красивый view (html), в первом варианте все параметры в столбик пришлось бы выводить.
* Второй способ как я понимаю упрошает select, потому что в where будут перечислятся столбики. В первом варианте пришлось би делать join с другими таблицами.
* Во втором варианте PropertyKey пришлось бы делать дла каждого параметра всех модели (model, dao, test, ..).
* PropertyKey меныа тревожит тем, что дла полного поиска по всем параметрам приходится с базы данных вытягивать возможные жачения (дла каждото параметра - select * from PropertyKey where name = ?), что снизит performance етих страниц.

Как би ви посоветовали реализвать каталог продуктов с параметрами, где для каздото продукта есть список параметров и возможних их значений ?
PM MAIL   Вверх
gelo86
Дата 10.8.2009, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Неуженли у никого нету своего мнения? 
PM MAIL   Вверх
garbuz
Дата 10.8.2009, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

Репутация: 8
Всего: 11



Тут на мой взгляд надо хорошо подумать. Если вы делаете какое-то одноразовое решение, где количество сущностей ограничено, то наверно будет лучше второй вариант - написал классы, написал DAO для них, вьюхи, контроллеры и все в принципе. Если система должна быть гибкой, масштабируемой, поддерживать большое количество разных сущностей, то скорее подойдет первое решение, не обязательно в том виде, в котором оно у вас есть. Постарайтесь использовать все прелести ООП - возможно определить некий интерфейс, методы которого будут имплементить товары, может быть какой-то родительский класс, от которого можно наследоваться, использовать параметризуемый класс например для того же DAO. Однако на практике чаще всего получаются решения ближе к первому. Имхо как-то так. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0394 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.