Я пишу приложение, чтобы помочь диабетикам управлять своим состоянием. Отслеживаемая информация включает в себя результаты измерения уровня сахара в крови, информацию о питании, физических упражнениях и лекарствах.
В похожих приложениях все эти записи представлены в едином табличном представлении, даже если у каждого типа записи есть разные поля. Эти данные вручную отслеживаются многими диабетиками в журнале, и я стараюсь сохранить эту парадигму.
Каждая запись имеет некоторую общую информацию (временную метку, категорию и примечания), а также информацию, специфичную для каждого типа записи. Например, записи о приеме пищи будут содержать подробную информацию о питании (количество углеводов, клетчатки, жира и т. Д.), Записи о приеме лекарств будут указывать, какие лекарства и дозировки и т. Д.
Я рассмотрел два разных подхода, но при попытке реализовать любой из них я застрял как на концептуальном, так и на техническом уровне. Первый подход состоял в том, чтобы создать абстрактную сущность, содержащую все общие поля, а затем создать сущности для каждого типа записи в журнале (питание, медикаменты, bg и т. Д.), Которые связаны с абстрактной сущностью. Я все это смоделировал, но не мог понять, как связать эти элементы с контроллером массива, чтобы они отображались в одном табличном представлении.
Второй подход состоит в том, чтобы иметь один объект, который содержит общие поля, а затем моделировать конкретные типы записей как отдельные объекты, которые имеют отношение обратно к общей записи (что-то вроде шаблона декоратора). Это было несколько проще для создания пользовательского интерфейса (по крайней мере, для объекта общего поля), но я сталкиваюсь с той же проблемой, когда хочу связать определенные объекты данных.
Конечно, самый простой подход - просто выбросить все поля из каждого типа записи в одну сущность, но это противоречит всем моим чувствам. И кажется, что я все еще столкнулся бы с подобной проблемой, когда я иду, чтобы связать вещи с табличным представлением.
Моя конечная цель - предоставить пользователю интерфейс, который отображает каждую запись в хронологическом порядке в унифицированном интерфейсе, вместо того, чтобы хранить отдельный список каждого типа записи. Я в порядке, добавляя код там, где это необходимо, но я бы хотел использовать привязки как можно больше.
Заранее спасибо за любой совет.