Это, вероятно, довольно простой вопрос для начинающего дизайнера. Я пытаюсь проделать свой путь с помощью ряда требований и дать пользователям тот опыт, который они ищут ...Использование базы данных MS Access в качестве формата файла для настольных приложений, требующих функциональности открытого/безопасного типа
Я написал инструмент, который делает большие вещи типа калькуляции. В настоящее время он состоит из библиотеки классов и инструмента командной строки (отдельные .NET-проекты). Мы используем формат базы данных Access в качестве типа файла, так как он может хранить все разные таблицы в одном файле. Несколько других вопросов о приложении: - Пользователей мало. Нет проблем с масштабируемостью. - Нет проблем с обновлениями. - Рабочий стол желательно. Не в Интернете. - Использование VB и .NET 3.5 SP1
Теперь мне нужно разработать интерфейс GUI, который позволит выполнять типичные операции File/Open и File/Save.
Пользователи ожидают, что они смогут открыть файл, отредактировать его, а затем либо сохранить, либо закрыть его несохраненным - без любых изменений, которые записываются обратно в файл. Сохранение его, очевидно, сохранит все изменения, влияющие на все таблицы обратно в файл.
Имеет ли смысл использовать временный файл для чего-то вроде прокси? В случае, когда пользователь «открывает» файл, скопируйте исходный файл доступа в локальный файл temp и затем используйте его для сеанса редактирования? Затем, если пользователь «сохраняет», скопируйте локальный файл temp обратно в исходный путь?
Является ли этот вопрос понятным? Является ли дизайн ужасным ??? Любые комментарии или предложения?
Обновление: [с тегом ms-access too] Кроме того, я опустил тот факт, что пользователи также ожидали бы обычной функции File/Save As. Я думаю, что дизайн, который я поставил под вопрос в этом посте, - это традиционно называемый шаблон прокси-дизайна. Кто-нибудь пробовал это (успешно!) С файлами базы данных Access раньше? Предупреждения или советы?
Спасибо за ответ. Это хорошая мысль - использование транзакций. Я не добавил в свое первоначальное сообщение, что мне нужно также поддерживать типичную функциональность «Сохранить как». Я не уверен, что это возможно. Если я начал транзакцию, пользователь внес изменения, а затем попытался сделать «Сохранить как», тогда я хотел бы оставить исходный файл как есть, но каким-то образом передать транзакции новому файлу «Сохраненный As». Извините за то, что вы оставили эту деталь из оригинального сообщения. Вы согласны с тем, что транзакции не будут работать так хорошо, верно? – Mike
Да, в этом случае нет, транзакции, вероятно, будут работать так здорово. Из любопытства, почему файл доступа в этом случае? Почему бы просто не создать свою модель данных из устойчивых объектов и не сохранить их все в XML-файлах по запросу. Они получают хороший читаемый XML, вы получаете все функции сохранения и сохранения в качестве функциональности и не полагаетесь на Access. Если наборы данных просто ОГРОМНЫЕ, это может быть лучшей альтернативой. – DarinH
Ну, вычисления, полученные из системы (и сохраненные во входном файле), могут быть огромными в количестве - 1000 строк данных. Хм ... Мне нравится текст. Я не рассматривал XML или сохранял объекты напрямую. Это по периметру моих знаний в .NET. Я думаю, что мои пользователи предпочитают доступ, потому что они могут использовать его для настройки номеров за пределами внешнего интерфейса, если это необходимо. Я думаю, что то же самое можно сказать и для XML, но даже Access запугивает некоторых пользователей! Я думаю, что редактирование/настройка XML может полностью отпугнуть людей. Тем не менее, я буду управлять ими. Еще раз спасибо за ваши комментарии/предложения. – Mike