2009-08-20 2 views
0

У меня есть категория таблицы, сопоставленная категории класса домена с использованием iBatis. Должен ли я использовать этот класс как JavaBean? Компонент для продукта должен иметь другие атрибуты, такие как количество продуктов в этой категории. Эти атрибуты не являются частью класса класса домена. Если я использую категорию в качестве класса bean, это все еще актуально? В этом случае лучше предоставить класс-оболочку, например CategoryBean? Будет ли это увеличивать сложность кода?Должен ли класс домена ibatis использоваться как javabean?

ответ

1

Есть несколько сторон в этой дискуссии (и это дебаты).

Во-первых, в кругах разработки программного обеспечения Java существует широко распространенное мнение о том, что программное обеспечение должно быть высокоуровневым. Это часто означает выведение объектов домена и перевод их на объекты представления. Он может идти еще дальше и иметь объекты обслуживания и другие между ними.

Это часто заканчивается тем, что копирование свойств шаблона полностью вызывает сомнения.

Один вопрос, который задают себе: это объекты, выходящие из Ибатиса, пригодные для презентации? Или они общие в том смысле, что у вас, например, есть один класс за стол?

Легкое приложение Java хорошо вписывается в его права выбора подхода, при котором Ibatis будет запускать запросы, которые возвращают точную информацию, которую должен обладать уровнем просмотра, а затем передать ее полностью (что не будет далеко). Теперь это имеет проблемы с масштабируемостью в больших приложениях. Вы могли бы получить сотни или даже тысячи таких вещей, поэтому в таких ситуациях вам может понадобиться другой подход. Опять же, в таких ситуациях вы, скорее всего, просто получите тысячи объектов презентации. Роббинг Петр заплатил Павлу?

Я лично нарушаю подход одного класса за стол в Ибатисе. Это не сила. Это сила Hibernate и JPA. Сила Ибатиса заключается в том, что он может легко вытащить что угодно, а также любой запрос SQL (потому что это просто SQL). Используйте его таким образом, если это не создает проблем для вас.

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