Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.03.20;
Скачать: [xml.tar.bz2];

Вниз

сохранение настроек   Найти похожие ветки 

 
Маркетоид   (2010-12-07 16:58) [40]

Если работаешь с Ruby, то имеет смысл сериализовать объект в YAML
Если работаешь с JavaScript - в JSON


А я работаю с Delphi и ничего не сериализую если надо повзаимодействовать с внешним миром.

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


 
Ega23 ©   (2010-12-07 17:00) [41]


> Так вот сам этот дом узел - и есть замена тому самому TMyObject"у
> у которого вы так мечтаете иметь методы LoadFromXML/SaveToXML


если кое-кто внимательно разует глаза, то увидит, что метод TMyObject.LoadFromXML имеет входным параметров Node: IXMLNode
И мне никто не мешает передавать нужным объектам, из которых состоит этот TMyObject передавать им нужный XMLNode, родителем которого является изначальный Node.
Ещё раз: от писанины это не избавляет.


 
Ega23 ©   (2010-12-07 17:00) [42]


> Все достигается элементарным способом, если не приучать
> себя думать ректально.


Достигается, но не так изящно, как в XML. Впрочем, она нужна далеко не всегда.


 
Jeer ©   (2010-12-07 17:02) [43]


> Впрочем, она нужна далеко не всегда.


Я за удобство работы в конкретном случае, а не изящество - оставим это танцорам.


 
Маркетоид   (2010-12-07 17:02) [44]

то увидит, что метод TMyObject.LoadFromXML имеет входным параметров Node: IXMLNode

Да наздоровье. И не надо думать что я не увидел.

Но я еще раз повторяю:

У меня вообще нет TMyObject и у меня вообще нет потребности иметь этот самый TMyObject чем бы он ни был. Классом или рекордом.

Он мне просто не нужен.

Боже ж мой, неужели это так трудно понять.


 
Ega23 ©   (2010-12-07 17:03) [45]


> Не сериализую потому что у меня нечего сериализовать.
> У меня все уже в xml

Как это нечего? Не, ну если у тебя нет загрузки, то тогда для каждого свойства тебе надо геттер и сеттер писать, которые будут к нужному ноду обращаться.
Ах да, и постоянно держать XML-документ открытым.
Ненаказуемо.


 
Маркетоид   (2010-12-07 17:06) [46]

Не, ну если у тебя нет загрузки, то тогда для каждого свойства тебе надо геттер и сеттер писать,

Для каждого свойства кого/чего?
Для свойства какого объекта?

Напоминаю, что у меня нет вашего объекта. И свойств этого объекта тоже нет.


 
Ega23 ©   (2010-12-07 17:08) [47]


> Напоминаю, что у меня нет вашего объекта. И свойств этого
> объекта тоже нет.


Ты пишешь в delphi на WinAPI?


 
Kerk ©   (2010-12-07 17:08) [48]


> Маркетоид   (07.12.10 17:06) [46]
>
> Напоминаю, что у меня нет вашего объекта. И свойств этого
> объекта тоже нет.

Т.е. ООП ты ни в каком виде не используешь?


 
han_malign   (2010-12-07 17:13) [49]


> Ты пишешь в delphi на WinAPI?

- ты не понял - ему не нужен delphi, у него уже есть xml...


 
TUser ©   (2010-12-07 17:13) [50]

Я предпочитаю XML, потому что дерево - оно универсальнее.


 
Маркетоид   (2010-12-07 17:15) [51]

Я пишу на делфи и использую ООП.

Но едрена батона.....

У меня нету вашего TMyObject.

У меня нету, екарный бабай, того объекта и той структуры которую вы создаете чтобы хранить настройки в ПАМЯТИ приложения при считывании их с диска.


 
Kerk ©   (2010-12-07 17:18) [52]


> Маркетоид   (07.12.10 17:15) [51]

Ну с этого бы и начинал.
В памяти настройки, кроме любителей XML, просто так никто не хранит. Все они "растекаются" по свойствам различных объектов, реализующих бизнес-логику. В этом и смысл настроек.


 
Ega23 ©   (2010-12-07 17:18) [53]


>  того объекта и той структуры которую вы создаете чтобы
> хранить настройки в ПАМЯТИ приложения при считывании их
> с диска.


Врёшь. У тебя есть IXMLDocument, со всеми его прибабахами. Который ВСЕГДА сидит у тебя в памяти.


 
Jeer ©   (2010-12-07 17:19) [54]

"Собрались глухой, слепой, немой и беспомощный вотку пить" (С)


 
Kerk ©   (2010-12-07 17:21) [55]


> Ega23 ©   (07.12.10 17:18) [53]
>
> Врёшь. У тебя есть IXMLDocument, со всеми его прибабахами.
>  Который ВСЕГДА сидит у тебя в памяти.

Он просто радуется, что не сам его писал.
Ну так никто сам аналогов и не пишет.


 
Маркетоид   (2010-12-07 17:22) [56]

Врёшь. У тебя есть IXMLDocument, со всеми его прибабахами. Который ВСЕГДА сидит у тебя в памяти.

Конечно есть.

Но я не тратил ни секунды своего времени на его реализацию.

А вы в каждом своем проекте сначала изобретаете свой TMyObject, затем пишете загрузку/выгрузку из него в файл.


 
Kerk ©   (2010-12-07 17:25) [57]

Ну теперь началась окончательная и бесповоротная клоунада.
Запасся попкорном :)


 
b z   (2010-12-07 17:26) [58]


> Конечно есть.
А зачем?


 
Jeer ©   (2010-12-07 17:26) [59]


> Запасся попкорном :)


Я уже жую, поскольку ставлю оракл :)


 
Kerk ©   (2010-12-07 17:27) [60]

Еще мне кажется, что человек не знает, что такое сериализация, о которой ему с [33] начиная твердят. Надо ж было додуматься, что TMyObject там - это заменитель IXMLDocument"а :)


 
Ega23 ©   (2010-12-07 17:28) [61]


> А вы в каждом своем проекте сначала изобретаете свой TMyObject,
>  затем пишете загрузку/выгрузку из него в файл.


А, ну да, я забыл, у тебя вся программа из XML состоит. ОМГ.


 
Ega23 ©   (2010-12-07 17:29) [62]


> Еще мне кажется, что человек не знает, что такое сериализация,


Он знает, что такое XML, этого достаточно.


 
Маркетоид   (2010-12-07 17:30) [63]

А, ну да, я забыл, у тебя вся программа из XML состоит. ОМГ.


Понтоваться насчет кода надо было тогда, когда я предлагал это делать.
Честно и прямо.

Но уже не сейчас, понимаешь?


 
sniknik ©   (2010-12-07 17:30) [64]

почему как ни любитель XML так фанат отрекающий все остальное (или придурок ничего другого не признающий/не знающий), а вот фанатов ini почему то нет, используют там где удобно, где нет, могут и xml, и что угодно другое...

ненавижу XML... не за то что он есть/какой он есть, а за его разрекламированность, навязываемость, и фанатизм приверженцев...


 
Kerk ©   (2010-12-07 17:31) [65]

Я не верю, что это серьезно :)
Наверно кто-то из старожилов прикалывается.


 
b z   (2010-12-07 17:32) [66]


> А, ну да, я забыл, у тебя вся программа из XML состоит
Ну а что в этом плохого? sirvelight, wpf и т.п. так и есть и никто не кричит ОМГ...


 
Маркетоид   (2010-12-07 17:33) [67]

а за его разрекламированность, навязываемость, и фанатизм приверженцев...

Продуктивная ненависть.
На возможности наплевать, но "разрекламированность навязываемость и фанатизм"

Кстати о фанатизме.
Мой пост №25 нефанатичные люди с незамутненным рассудком поняли в районе  где то через страницу-полторы.
Что как бы намекает.


 
allocator   (2010-12-07 17:34) [68]

sniknik ©   (07.12.10 17:30) [64]

Ну XML вкупе со схемами и трансформациями и икс-путями, это чудо инженерной мысли на самом деле, бывающее очень удобным в подходящих для него местах. А для серьезных настроек можно SQLite или BerkleyDB использовать.


 
Kerk ©   (2010-12-07 17:37) [69]


> Маркетоид   (07.12.10 17:33) [67]
>
> Мой пост №25 нефанатичные люди с незамутненным рассудком
> поняли в районе  где то через страницу-полторы.

Так ты [33] до сих пор не понял :)))))


 
Ega23 ©   (2010-12-07 17:38) [70]


> Понтоваться насчет кода надо было тогда, когда я предлагал
> это делать.
> Честно и прямо.
> Но уже не сейчас, понимаешь?


А тебе и было сразу же сказано, что с точки зрения какого-то настраиваемого объекта, без разницы, из чего десериализоваться и куда сериализоваться - в секцию ini, в IXMLNode или по смещению в бинарный стрим. ПОФИГУ. Эти методы писать придётся всё равно.
Либо постоянно обращаться к хранилищу, когда не дай бог один из параметров был изменён, либо программой либо пользователем.
Без разницы. Код всё равно писать.

З.Ы. Для настроек используем XML. Написаны удобные хелперы, в базовые классы добавлены методы. Но у конечных классов код всё равно приходится писать, никуда от этого не денешься.


 
Kerk ©   (2010-12-07 17:42) [71]


> Ega23 ©   (07.12.10 17:38) [70]
>
> А тебе и было сразу же сказано, что с точки зрения какого-
> то настраиваемого объекта, без разницы, из чего десериализоваться
> и куда сериализоваться - в секцию ini, в IXMLNode или по
> смещению в бинарный стрим. ПОФИГУ. Эти методы писать придётся
> всё равно.

Ты все еще не понял. До этапа сериализации полет его мысли не доходит.
Речь о том, что _ДО_. Он считывает настройки из файла в IXMLDocument. ВСЕ!
Остальные для этого якобы какие-то TMyObject пишут.
В этом основное недопонимание, в том, что настройки - не самоцель.


 
Маркетоид   (2010-12-07 17:57) [72]

В этом основное недопонимание, в том, что настройки - не самоцель.


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


 
Kerk ©   (2010-12-07 17:58) [73]

Анекдот :)


 
Маркетоид   (2010-12-07 17:59) [74]

Остальные для этого якобы какие-то TMyObject пишут.

Так "якобы" или пишут ?


 
Kerk ©   (2010-12-07 18:01) [75]


> Маркетоид   (07.12.10 17:59) [74]
>
> Остальные для этого якобы какие-то TMyObject пишут.
>
> Так "якобы" или пишут ?

С тобой-то я уже во все поверить готов :)
А так вообще сам ниразу не переписывал ни IXMLDocument, ни TIniFile, ни TRegistry :)


 
Маркетоид   (2010-12-07 18:04) [76]

не переписывал ни IXMLDocument, ни TIniFile, ни TRegistry

А я это утверждал?
Я говорил, что разрабатываются классы или структуры, для того, чтобы хранить в них данные, считанные непереписанными TIniFile и TRegistry


 
Kerk ©   (2010-12-07 18:05) [77]


> Маркетоид   (07.12.10 18:04) [76]
>
> Я говорил, что разрабатываются классы или структуры, для
> того, чтобы хранить в них данные, считанные непереписанными
> TIniFile и TRegistry

Кем разрабатываются?


 
Jeer ©   (2010-12-07 18:07) [78]


> Я говорил, что разрабатываются классы или структуры,


Еще один Закон Природы ?


 
Eraser ©   (2010-12-07 18:16) [79]

Нда.. как обычно все свелось к флуду )
Вроде автора спрашивал "актуально ли сейчас хранить настройки в ini-файлах?", ключевое слово - настройки, а не объекты.
Да, настройки можно хранить в объектах, а затем сереализовать сами объекты и хранить эти данные, но это уже частный случай. Здесь вполне уместно применять встроенный в Делфи механизм сериализации компонентов и не изобретать велосипед.


> DiamondShark ©  

демагогия, не имеющая никакого отношеня к практике, и не более того, впрочем как обычно ;-)
кстати, если мне не изменяет память, стандартный механизм работы с настройками в C# использует именно XML )

> [22] sniknik ©   (07.12.10 14:26)


> во многих случаях ini удобнее, так же как хранение его рядом
> с программой а не "в местах для этого отведенных".

а потом с выходом очередной Висты начинаются вопли - "почему у меня пишет какую-то ошибку 5?", "почему не работает через терминальный клиент?" и т.д.
а все из-за того, что разработчику лень продумать работу с настройками. почему-то в современных продуктах изместных всему миру контор я не вижу ini файлов в каталоге с exe. а вот у иванов кулибиных - полно. не спорю, есть 1% случаев, когда это оправдано.


 
DiamondShark ©   (2010-12-07 18:26) [80]


> Eraser ©   (07.12.10 18:16) [79]

Ты совершенно прав: ссылка на возраст технологии -- демагогия, не имеющая никакого отношеня к практике, и не более того, впрочем как обычно.



Страницы: 1 2 3 4 вся ветка

Форум: "Прочее";
Текущий архив: 2011.03.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.61 MB
Время: 0.01 c
2-1293283172
sonny2son
2010-12-25 16:19
2011.03.20
Посоветуйте, как установить?


15-1291724614
Омлет
2010-12-07 15:23
2011.03.20
Что будет, когда закончатся IPv4-адреса?


2-1293098804
RUu
2010-12-23 13:06
2011.03.20
объединение наборов данных


15-1291808067
Paranoya
2010-12-08 14:34
2011.03.20
Не грузится страница при "работающем" интернете.


2-1293376363
Godod
2010-12-26 18:12
2011.03.20
Чертеж графика по точке на видео





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский