|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.11.2010, 23:36 | #1 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Какой источник выбрать?
Пишу SDI приложение, приложению требуются данные разных типов около 300 Кб. Откуда "правильнее" брать данные. С ODBC как-то не хочется связываться, данные не большие. Мне требуется обращатся к этим данным из любого класса и по возможности не оставляя их в оперативке. Хотелось бы в данном случае ощутить всю мощь MFC и соблюсти архитектуру Doc/View. Заранее благодарен, Алексей.
|
13.11.2010, 12:54 | #2 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Какой источник выбрать? Всё-же!
Пока ждал ответа, пришла мысль использовать глобальную переменную экземпляра приложения.
Так, думаю, примитивно: Код:
Вот так, думаю получше: Код:
|
13.11.2010, 18:10 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
просто на MFC, мало кто пишет.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.11.2010, 18:12 | #4 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
А поконкретней, что у вас за данные (какого типа)?
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
13.11.2010, 23:16 | #5 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
Читать из файла не думали?
|
14.11.2010, 10:49 | #6 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Создаём класс вида:
Код:
Код:
Ну а теперь самое интересное: получение данных из файла, бд или откуда захочется. Код:
Получаем следующую цепочку: вид -> документ -> MyDataManager -> MyDataMapper -> файд/БД/... Если данные не однородные, то на каждый тип можно создать свои Manager и Mapper классы. Так же в Mapper можно добавить кэш и сразу все данные из файла в него записать, чтобы потом в файл не лазить. Ну а уж что в качестве хранилища использовать... Можно сериализовать в бинарник (для этого в MFC есть готовые механизмы), можно в ini/xml файлы писать, можно в БД, можно... да что угодно можно придумать, хоть на ftp закинуть и оттуда доставать |
14.11.2010, 21:08 | #7 | ||
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Цитата:
Цитата:
3. А в других классах как получить данные, передавать ссылку на документ? ... ещё есть вопросы, если можно приблизительную реализацию: Код:
|
||
15.11.2010, 14:28 | #8 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Вот в Microsoft Word данные о размере шрифта, например, хранятся в документе, а список размеров где?
|
15.11.2010, 16:40 | #9 | |||
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Зависит от реализации. Как правило, MyDataManager тупо запрашивает данные у MyDataMapper. Данные он нигде не хранит, ему нужен только экземпляр MyDataMapper, который он в принципе может "на лету" создать и тут же удалить. Это уже зависит от задачи.
Такого, какого нужно. Это Ваш тип Student, Employee или что там в документе хранится и впоследствии отображается. В общем то, что у меня было как MyData. Цитата:
Цитата:
Код:
Цитата:
По идее должно быть какое-то глобальное хранилище всех доступных шрифтов, а для каждого шрифта список возможных его размеров (хотя в ворде вроде как список размеров одинаков для всех шрифтов и можно ручками даже указать нужный (хоть 13,5)). Последний раз редактировалось pu4koff; 15.11.2010 в 16:43. |
|||
18.11.2010, 18:38 | #10 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой нетбук выбрать? | DaNHell | Компьютерное железо | 1 | 02.06.2010 07:23 |
Какой линукс выбрать? | Antidoc | Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) | 4 | 08.12.2008 04:41 |
Принтер. (какой выбрать) | Карась | Компьютерное железо | 10 | 26.07.2008 23:54 |