170 похожих чатов

Что лучше юзать для клонирования сложных объектов ? Сериализацию ?

24 ответов

24 просмотра

Зачем клонируете?

Become Absolute- Автор вопроса
Oleg Safonov
Зачем клонируете?

Просто хочу знать, что лучше юзать)

Become Absolute
Просто хочу знать, что лучше юзать)

как ни крути, а сама ситуация будет вокруг понятий deep copy и shallow copy - соответственно, если хочется клон-клон, чтобы всё было именно склонировано (а не скопировано как ссылка) по всему дереву сложенных полей, то надо в каждой сущности обеспечить метод Clone - для этого смотрим на интерфейс ICloneable и реализуем его поддержку в своих классах

Become Absolute
Просто хочу знать, что лучше юзать)

С какой точки зрения лучше? Лучше чем что? )

Become Absolute- Автор вопроса
Дмитрий Алексеев
С какой точки зрения лучше? Лучше чем что? )

Сделать глубокую копию объекта. В нужных классах прописывать конструктор для копирования, либо сериализация применять или есть еще какие то способы?

Так вопрос то в том с какой точки зрения вы ищете лучшее решение? Например вам нужно попроще, чтобы писать поменьше, скорость не важна. Это одна точка зрения Вам нужно гонять быстро большие объемы расход оперативы и производительность критичны - это другая точка зрения. Что вам нужно?

Become Absolute- Автор вопроса
Become Absolute- Автор вопроса
Дмитрий Алексеев
Тогда сериализация ваш выбор )

Я могу просто из объекта в json и обратно?

Become Absolute
Я могу просто из объекта в json и обратно?

Вы можете в бинарь сериализовывать и обратно )

Become Absolute- Автор вопроса
Become Absolute- Автор вопроса
Become Absolute
ну майки

А при чем тут майки? С каких пор бинарная сериализация стала устаревшей? ) И какое к ней отношение имеют майки?

Become Absolute- Автор вопроса
Сергей
Он говорит о классе BinaryFormatter

Гм, ну если его пометили значить что то на замену вывалить должны были, нет?

Сергей
Нет

Странно, ну сторонние библиотеки есть

Дмитрий Алексеев
Гм, ну если его пометили значить что то на замену ...

а разве кто-то кому-то что-то должен? Я как замену бинарной сериализации перешел на protobuf

Ivan
а всё. сказали - больше не используйте.

Ну так не используйте ихнюю, используйте стороннюю, я же не имел в виду конкретно этот класс )

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Карта сайта