Как лучше всего записывать данные с объектов? - PullRequest
2 голосов
/ 26 мая 2011

Я собираю большое количество данных в корпоративной системе (через бота) в виде объектов, и я не уверен, какова рекомендация ООП для работы с этими данными.

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

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

Я часто спрашиваю себя, что ООП рекомендует для хранения данныхиз предметов.Должен ли объект сам реализовывать методы записи / извлечения данных из базы данных?Или я должен создать класс для управления записями объектов в БД?Если у вас есть опыт в этой области, я хотел бы знать, что вы практикуете.Спасибо!

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

Используйте шаблон хранилища, то есть создайте класс для инкапсуляции доступа к некоторому хранилищу.

В вашем случае я рекомендую, чтобы реализация поведения хранилища была следующей:

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

1 голос
/ 26 мая 2011

Тысячи предметов не так много.Не беспокойтесь об этом, пока вам не понадобится.

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

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