Как эффективно организовать структуру данных
От: Alex34 Израиль  
Дата: 25.07.18 08:53
Оценка:
Добрыий день,

Имеетсжя следующая структура данных


class Object
{
public:
    int   id ;
    TypeA a ;
    TypeB b ;
    ...


Также имеется репозиториий ( База данных ) , которая хранит обьекты типа Object , назовем ее Object_DB

На данныий момент Репозиторий предоставлает простой метод set/get для извлечения обьекта типа Object по идентификатору ( ключ ).

Задача .

Обьект типа Object приходит по сети , но не как цельная структура , а как отдельные элементы .
Например в одном сообсщении (id, TypeA ) , в другом (id, TypeB )

Именно эти поля необходимо обновить для соответствующего обьекта в БД.
Поскольку обьект не приходит в полном обьеме , то приходиться вынимать из БД существующиий обьект , изменять необходимые поля и запихивать его обратно в БД.

Другое решение , мне кажеться менее правильное и приемлемое , предоставить в Object_DB соответствуюсщие методы для каждого типа

   set ( id , const TypeA& ) ;
   set ( id , const TypeB& ) ;


Вопрос :
Как посоветуете организовать структуры БД Object_DB , а такзже типы ( с указанием методов ) Object , TypeA , TypeB и т.д.
чтобы можно было эффективно обновлять отдельную часть обьекта Object в БД , используя один интерфеийс в Object_DB


   set ( id , const Object& ) ;


Другими словами , чтобы обьекты Object умно копировали только то что необходимо.

Надеюсь вопрос понятен

Спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.