Форум: "Прочее";
Текущий архив: 2008.09.21;
Скачать: [xml.tar.bz2];
ВнизХранилище данных Найти похожие ветки
← →
Пробежал... (2008-07-28 11:15) [0]Ядро программы должно предоставлять механизма для хранения / извлечения данных, чтобы модули программы могли им воспользоваться.
Вот думаю в каком формате предусмотреть функции? Что будут делать сторонние модули - черт их знает, какие данные им потребуется хранить - аналогично неизвестно.
То ли делать функции хранения по типу стандартных:function SetParam(IdParam: string; Value: string)
function SetIntParam(IdParam: string; Value: integer)
function GetParam(IdParam: string; DefValue: string): string;....
...
ну и так далее. Или предусмотреть еще секции навроде INI-файлов?function SetParam(IdSection, IdParam: string; Value: string)
Или сделать БД / SQL логику? Она сильно отличается...
У кого может был опыт, что лучше сделать? Какой интерфейс оптимальный для хранения данных, что предусмотреть нужно?
Модули ну как минимум настройки всякие свои будут хранить...
← →
tesseract © (2008-07-28 11:20) [1]Да любой, чем ini-файлы не устравивают ? Можно в sqlite хранить, если уж очень много настроек будет.
← →
b z (2008-07-28 11:21) [2]
> Вот думаю в каком формате предусмотреть функции?
Это как, простите? В формате С# :), не оно?
> То ли делать функции хранения по типу стандартных:
Где стандарт описан?
← →
Anatoly Podgoretsky © (2008-07-28 11:28) [3]> Пробежал... (28.07.2008 11:15:00) [0]
(ID: Integer; Value: Variant);
(ParamName: string; Value: Variant);
..
(ID: Integer): Variant;
(ParamName: string): Variant;
← →
Johnmen © (2008-07-28 11:32) [4]Что такое "интерфейс для хранения"?
← →
Anatoly Podgoretsky © (2008-07-28 11:36) [5]> Johnmen (28.07.2008 11:32:04) [4]
Итерфейс - это муждумордие, а если автор что то другое вкладывает в это, то пусть колется.
← →
Медвежонок Пятачок © (2008-07-28 11:36) [6]Вот думаю в каком формате предусмотреть функции?
А ты знаешь много форматов функций?
← →
Пробежал... (2008-07-28 11:41) [7]>Да любой, чем ini-файлы не устравивают ? Можно в sqlite хранить, если уж
>очень много настроек будет
вопрос не в том, как это хранить движку программы. Вопрос в формате функций, предоставляемых модулям для хранения данных в некое абстрактное хранилище.
Формат функций надо сразу заранее сделать, и потом они не будут меняться (естественно, поэтому и не хочется ошибиться), модули понятие не имеют как физически хранятся данные, но интерфейс нужен.
← →
Zeqfreed © (2008-07-28 11:54) [8]Сохранить/Прочитать/Очистить.
Остальным должен заниматься сериализатор.
← →
tesseract © (2008-07-28 11:58) [9]
> Остальным должен заниматься сериализатор.
За чем тут сериализатор ? Перегрузкой можно обойтись. Форматов то всего :
1. Число
2. Короткая строка
3. Длинная строка /текст
4. Бинарные данные
← →
Zeqfreed © (2008-07-28 12:00) [10]> tesseract © (28.07.08 11:58) [9]
Про форматы в посте автора я вообще ничего не вижу.
← →
Медвежонок Пятачок © (2008-07-28 12:02) [11]Вопрос в формате функций
Используй второй снизу, зеленый.
← →
Skyle © (2008-07-28 13:00) [12]Полюбому делай вот так.
function SetData(AData : Pointer; ADataSize : Cardinal) : Boolean;
← →
Rouse_ © (2008-07-28 13:44) [13]Когда мне нужно делать что-то подобное для хранения настроек различных классов, я реализую у каждого класса метод SaveToStream и LoadFromStream, а уж как ты будешь сами потоки данных хранить - дело десятое.
← →
Ega23 © (2008-07-28 13:48) [14]
> а уж как ты будешь сами потоки данных хранить - дело десятое.
В ini-файлах! :)
← →
Eraser © (2008-07-28 13:53) [15]обычно делаю как в [3] либо можно еще реализовать специальный класс, у которого свойство = настройка, унаследовать его от TComponent и сериализовать с пом. Read/WriteComponent.
← →
Eraser © (2008-07-28 13:55) [16]> [14] Ega23 © (28.07.08 13:48)
угу, в TMemIniFile, в потом его сохранять в поток и записывать в реестр или xml ;-)
← →
Пробежал... (2008-07-28 15:22) [17]
> Когда мне нужно делать что-то подобное для хранения настроек
> различных классов, я реализую у каждого класса метод SaveToStream
> и LoadFromStream, а уж как ты будешь сами потоки данных
> хранить - дело десятое.
проблема в том, что модули являются внешними DLL и написаны могут быть на любом языке соответственно.
← →
Медвежонок Пятачок © (2008-07-28 15:33) [18]и чего?
внутри dll классы + методы лоадфром сэйвту, снаружи функции сэйв/лоад
← →
tesseract © (2008-07-28 16:24) [19]
> внутри dll классы
Создавать классы на чтение больших объёмов.... Это изврат, хотя от задачи зависит. Лучше COM - запустил и спокоен.
← →
Медвежонок Пятачок © (2008-07-28 16:31) [20]старая песня про пушку и воробьев.
для малы объемов - лишнее, а для больших - тормоза.
:)
← →
blackman © (2008-07-28 16:58) [21]для хранения / извлечения данных, чтобы модули программы могли им воспользоваться
Это не постановка задачи, а бред. А если им Энциклопедия понадобится или полный список жителей планеты? Конкретней надо и тщательнее! :-)
← →
VirEx © (2008-07-28 18:00) [22]write
read
seek
...
← →
iZEN © (2008-07-29 00:17) [23]Визируй Java Persistence API
http://voituk.kiev.ua/2008/01/30/introduction-to-java-persistence-api/
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.09.21;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c