2012-02-29 4 views
2

Мне нужно разработать проект Swing. Мне нужно получить доступ к базе данных в разных местах. Итак, как я должен организовывать классы так, чтобы существовал один класс базы данных. Должен ли я использовать наследование для этого. Просто краткий план. Я разработчик java (struts/spring/hibernate), но это будет мое первое приложение Swing.с использованием базы данных в проекте качания

+0

что вы поместите в свой класс базы данных? вы используете JDBC? –

+0

@cacho ya jdbc on mssql. –

ответ

5

Несколько идей:

  • Я думаю, вы должны использовать ORM (как OrmLite, например) в приложении

  • Создайте пакет, который будет содержать интерфейсы или абстрактные классы для ваш уровень доступа к данным.

  • Создать еще один пакет, в котором ваши интерфейсы и абстрактные классы (слоя доступа к данным) реализуются (эти реализации должны содержать все прямые команды в базе данных)

  • Создать еще один пакет, в котором вы будете иметь свой бизнес-уровня. Методы ваших классов в этом пакете должны использовать уровень доступа к данным через интерфейсы и объединить их для решения любой проблемы на уровне бизнес-логики.

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

+1

1+ Желаю, чтобы я смог передать все мои ответы на этот вопрос к вашему ответу. Очень хорошо. –

+0

Я также поддержал ваш ответ, я считаю, что он может быть полезен для многих. –

7

Наследование? Нет, скорее, вы будете использовать композицию. Доступ к базе данных ничем не отличается для применения свинга, чем приложение, не свинг с некоторыми оговорками:

  • ли весь доступ к базе данных от основного потока Качели события или события отправки потока (EDT).
  • Сделайте все, что нужно для свинг на EDT.
  • Если данные будут динамически изменяться, необходимо будет прочитать способы прослушивания изменений данных и привязки данных к вашему дисплею.
+1

+1 Этот первый совет был действительно полезен для меня. –

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