2012-05-27 3 views
0

У меня есть большой опыт написания баз данных в Windows с SQL, SQLite и C#, пытаясь разработать лучший способ выполнять операции с базой данных с помощью MonoTouch.Dialog, мой последний C# проект загружал все записи из всех таблиц в классы, которые отражали таблицы в базе данных дополнительным полем, называемым грязным (bool), чтобы определить, что нужно обновить.monotouch.dialog лучший способ структурирования доступа к базе данных CRUD

Я предполагаю, что я должен сделать то же самое с MonoTouch.Dialog с обновлениями SQLite при закрытии диалоговых оконных контроллеров ?, целесообразно ли обертывать классы таблиц в классы для классов dialogviewcontrollers, поскольку это, по-видимому, правильный путь, например создавать отдельные классы для каждого контроллера dialogviewcontroller и содержать данные внутри.

Каков наилучший способ перемещения вверх и вниз по основным деталям, например. передавая идентификаторы.

благодаря

Alex

ответ

0

В моем текущем проекте MT.D я определить уровень сервиса, который обрабатывает доступ к базе данных. I подкласс DialogViewController для передачи id соответствующей строки базы данных, когда, например, открывая новую форму для редактирования объекта. Затем новый DVC отвечает за любые операции CRUD с базой данных через сервисный уровень.

Если DVC обновляет базу данных, сервисный уровень вызывает событие с аргументом, содержащим измененный объект. Родительский обработчик событий DVC уведомляется об изменениях данных и может соответствующим образом обновлять интерфейс. Это зависит от разделов и элементов MTD, доступных в DVC, поэтому при создании, например, элементы хранят их в словаре, индексированном объектом данных id.

Для меня это обеспечивает достаточно развязанную архитектуру, и я собираю приложение, используя фреймворк Funq DI (его необходимо перекомпилировать для MonoTouch). Мне интересно узнать, как другие справляются с этим в приложении MT.D.

Смежные вопросы