Борьба с таблицами данных в Java - PullRequest
0 голосов
/ 03 октября 2010

Я разработчик .NET и пробую свои силы в Java.Мой текущий проект имеет уровень пользовательского интерфейса, уровень бизнес-логики и уровень доступа к данным.В настоящее время я работаю над DAL.

Я пока не подключаюсь к внешней базе данных;Я надеялся, что мои классы DAL будут использовать таблицы данных в памяти, пока БД не будет на месте.

В .NET очень легко создавать таблицы данных в памяти, выбирать из них, добавлять к ним и удалять из них.Но в Java я не смог найти что-то, что делает то же самое.

Я думал о замене «dataTables» набором строго типизированных объектов;но это потребует добавления ссылок на бизнес-уровень внутри DAL (и я подумал, что это было нет-нет).

Может ли кто-нибудь помочь смущенному разработчику?Если бы весь этот подход был ошибочным, что бы вы сделали?Если я пропустил эквивалент dataTable в Java - что это?

Ответы [ 4 ]

1 голос
/ 03 октября 2010

Вот статья о запуске базы данных Derby в памяти.

Если бы я знал, какую базу данных и какую постоянную библиотеку вы используете, я мог бы дать более точный ответ.

1 голос
/ 03 октября 2010

Я собирался заменить DataTables с коллекцией строго типизированные объекты; но это было бы требуется добавить ссылки на бизнес слой внутри DAL (и я подумал это было нет-нет).

Кто составляет эти правила?

Если ваш уровень доступа к данным отвечает за операции CRUD для объектов модели, мне кажется, он должен иметь ссылки на них. Обойти это невозможно.

Уровню постоянства не нужно знать о сервисе или слоях просмотра.

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

Не зацикливайтесь на "правилах". Вы пытаетесь наложить слой на ваше приложение. Вы помещаете все вещи о постоянстве в слой классов.

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

1 голос
/ 03 октября 2010

Вы можете использовать базу данных памяти, как описано в этот ответ .

Сравнение различных баз данных памяти показано в этом вопросе SO .

0 голосов
/ 03 октября 2010

OR / Ms были доступны намного раньше в Java, чем в .NET.Наборы данных имеют недостатки в том, что они заставляют вас программировать процедурно.Попробуйте взаимодействовать с объектами и отобразить их в БД позже.

...