Цитата: Sutinator от марта 31, 2014, 11:59Нет. Цель — не хранить документ в памяти (вместо диска); цель — хранить рабочее представление документа в месте, изолированном от прочего кода. Под рабочим представлением документа я имею в виду некое дерево структур, с которым программа может работать в конкретный момент времени. Разумеется, документ можно сериализовать и сохранить на диск, всё-такое. Я не о том. Я, наверное, конечно, over-engineer (переинженериваю?), но хостить сам документ в том же процессе, что и логика — не 100% безопасно. Если в программе есть ошибка типа переполнения буфера, то забагованный код может повредить рабочую модель документа в памяти, и бэкапь не бэкапь — забэкапишь повреждённый документ. И прощай работа нескольких часов, а то и дней. Конечно, можно применять что-то вроде CRC для верификации структур — но не муторнее ли это? Плюс, при CRC-верификации мы только можем сказать, что данные повреждены, мы не можем предостеречься от этого так, чтобы этого не происходило вообще.
Я так понимаю, хранить документ в памяти необходимо В ЦЕЛЯХ редкого обращения к диску, а т.ж. скорости i/o?
Цитата: Чайник777 от марта 30, 2014, 23:47
А довлеть когда-то и значил to suffice
Цитата: Алексей Гринь от марта 30, 2014, 13:10Цитата: mnashe от марта 30, 2014, 12:59
Довлеет?OfftopХватает.
Цитата: mnashe от марта 30, 2014, 12:59
Довлеет?
Цитата: Алексей Гринь от марта 30, 2014, 11:32Довлеет?
простой бэкап suffices
Цитата: Triton от марта 30, 2014, 12:08Ну мой софт, подразумевается, будет оперировать большим количеством данных, в том числе, с кэшем промежуточных представлений в RAM (кэш принадлежит логике и UI, а не самому документу), поэтому out of memory вполне могут быть частыми, особенно на более слабых компьютерах. В похожей программе у меня частенько внезапно бывают out of memory, и тогда теряются последние изменения, что реально бесит.
Вот стабильность и не стоит затраченных денег для большинства приложений.
Цитата: Алексей Гринь от марта 30, 2014, 12:03Да, при проектировании на вырост это разумно. Собственно, это первое, что пришло мне на ум при чтении топика.
Что касается унификации интерфейсов для оффлайна и онлайна, я вот вспомнил, что в совр. версиях Minecraft'а оффлайн-режим это на деле локалхостный сервер. Так что разумно было бы сделать такое «на вырост» (оффлайн — это изначально локалхостный сервер), чтобы потом не пришлось переписывать код (как в том же Minecraft).
Цитата: Алексей Гринь от марта 30, 2014, 12:03У меня так:
Может быть, всё-таки OpenOffice делает такЕсли запускаю его, то он сразу три процесса создаёт.
Страница создана за 0.030 сек. Запросов: 21.