Архитектура классов данных, бизнес-объектов и классов средств просмотра в Java (платформа NetBeans) RCP - PullRequest
0 голосов
/ 22 февраля 2012

У меня есть некоторый опыт программирования, но я все еще довольно любитель. Я просмотрел много учебников по NB-платформе и IDE и прочитал некоторые книги, но они не помогли мне, как организовать мое RCP-приложение с базой данных (встраивание Derby, а не внешний сервер).

Что у меня есть?

  1. классы сущностей (генерируется NB IDE из базы данных для JPA) и JPA (с использованием EclipseLink )
  2. некоторые объекты просмотра, такие как TopComponent , Explorer и т. Д. И узлы
  3. basic "объекты" реального мира : книги, главы в книге, символы в главах

Полагаю, мне также следует использовать некоторый класс DAO для всех трех объектов реального мира, которые будут создавать и отправлять запросы в базу данных и возвращать данные. И конечно, я бы построил несколько бизнес-объектов для бизнес-логики. Вероятно, «Книги», «Главы», «Персонажи», где, например, экземпляр главы имеет атрибут, содержащий ссылку на экземпляр Книги, откуда берется глава.

Но как сделать основные операции, такие как:

  1. Получение коллекции всех книг / персонажей или глав конкретной книги для отображения в каком-либо виде?
  2. Основные операции CRUD со всеми бизнес-объектами? и так далее?

Я имею в виду, я не могу напрямую вызывать DAO из моего бизнес-объекта, например из Глав, чтобы запросить все символы, у которых таблица FK в главах равна идентификатору этого экземпляра Глав, могу ли я? Это было бы слишком связано, моей бизнес-логикой и конкретной системой баз данных (в DAO). И нет смысла просить экземпляр Книги вернуть все книги. Должен ли я сделать некоторые статические методы и, возможно, атрибуты (коллекции) для этого? Или я должен создать некоторый класс адаптера, который будет вызывать определенные методы DAO и создавать из них определенные бизнес-объекты и возвращать их?

Итак мои общие вопросы :

  • А) Как получить сбор данных? Где хранить некоторые из них?
  • Б) Как получить индивидуальные данные? Когда я редактирую некоторый Персонаж, например его имя, я изменяю атрибут бизнес-объекта, но как мне получить это изменение в базе данных? Должен ли сам бизнес-объект как-то вызывать DAO, или я должен сделать в моем представлении / контроллере не только обновить бизнес-объект, но и объект данных (возможно, через некоторый класс адаптера)?

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

1 Ответ

0 голосов
/ 22 февраля 2012

рассмотрите возможность использования фреймворка, такого как grails или roo.это поможет вам бесплатно.и они дадут некоторую структуру (модель-представление-контроллер) для вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...