Russian Qt Forum
Ноябрь 22, 2024, 15:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Ссылка в постороннем файле  (Прочитано 3444 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Сентябрь 25, 2015, 11:50 »

Добрый день

Есть объект класса A который может иметь любое число объектов класса B. При (де)сериализации A он сериализует также и всех своих B. Пользователь свободно добавляет/удаляет/редактирует B принадлежащих A.

И вот появился "файл расчетов" который приложение должно писать/читать. Никакого отношения к сериализации он не имеет, сами объекты в нем не хранятся. С точки зрения пользователя

- открыл окно объекта А и выбрал в нем какие-то B
- нажал бубочку, расчет выполнен (может длиться любое время) и сохранен в файле
- теперь результатами расчета можно пользоваться. При этом должны задействоваться те самые B что были выбраны для расчета

Каким образом идентифицировать B в файле учитывая что список B в любое время может быть изменен юзером?

Спасибо
Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #1 : Сентябрь 25, 2015, 13:34 »

Каким образом идентифицировать B в файле учитывая что список B в любое время может быть изменен юзером?

UUID ?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Сентябрь 25, 2015, 14:24 »

Каким образом идентифицировать B в файле учитывая что список B в любое время может быть изменен юзером?

UUID ?
Еще одна "сестра (таланта)" Улыбающийся Что ID? Как (в какой момент) его создавать, что с ним будет при copy/pate/delete/undo и.т.д? Тут есть о чем поговорить...
Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #3 : Сентябрь 25, 2015, 14:41 »

как же можно ответить если задача выражена нечетко ? )
очень похоже что к исходной задача хочется прикрутить непредусмотренное ранее, значит будут костыли

UUID будет определять объект B, если в нем нет уникальных полей
Изменил B - новый UUID
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #4 : Сентябрь 25, 2015, 15:04 »

А что должно произойти, если пользователь  после сохранения расчета удалит из файла A все объекты B?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Сентябрь 26, 2015, 15:56 »

как же можно ответить если задача выражена нечетко ? )
А что тут "нечеткого"? Может только то что задача незнакома, как и "правельный ответ"?  Улыбающийся

UUID будет определять объект B, если в нем нет уникальных полей
Изменил B - новый UUID
Ну менять (редактировать поля B) можно как угодно, это ничего не меняет. Вариант с ID конечно напрашивается, но что делать если

1) Объект A копируется (конечно со всеми принадлежащими ему B). Причем всяко-разно, напр через clipboard

2) Файл расчетов применяется к др объекту A (возможно копии "оригинала", но может и нет).

Я понимаю что неизбежны случаи когда ссылка в файле становится невалидной. Это нормально, тогда код использования уже решит, продолжить ли работать без этой ссылки или выдать ошибку. Однако совершенно неясно, в плюс то ID или в минус
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.102 секунд. Запросов: 22.