Итак, мне нужно внедрить систему статистики/данных/систему источников данных.Наилучший подход к расширяемой системе статистики
Я в принципе хочу передать данные периодически в «корень» и иметь его обрабатывать и обновлять соответствующие свойства для доступа по всему приложению - в качестве источников данных для построения графиков, этикеток, чеков и т.д. статуса
мне было интересно, если бы были некоторые реальные примеры этого от пользователей, которые в прошлом обрабатывали что-то подобное. Из этого я выбрал googled, и я продолжаю получать смешанную сумку результатов относительно того, что я должен делать, и я ненавижу просто программирование и «позволяю штукам падать на место». Мне нужно направление.
Редактировать для ясности: источники данных будут:
- Локальные файлы XML (скорее всего),
- Local SQL,
- Дистанционно полученные данные JSON,
- Дистанционно приобрела SQL.
Типы подсистем (ограниченный список, только для иллюстративных целей):
- соединения статусы - как BOOL и текст,
- Graphing/GridView источники данных,
- Processing/Прогнозные методы (например распределение вероятностей и т. д.),
- Общие статистические профили на основе клиента/отдела,
- Общие статистические профили, основанные на дате/ti мне/пролеты,
- подробнее ...
Как я уже говорил, многие из этих источников могут быть использованы совместно для обновления сегментов данных, если в этом возникнет необходимость (которая, вероятно, будет). Одна часть информации может использоваться в нескольких системах, но будут случаи, когда выборка будет очень специфичной для одной точки.
Я надеюсь, что это немного улучшило ... может быть. Я хотел бы обрабатывать всю обработку данных в одной области, если это возможно. С трудом будет работать, поскольку поток увеличивается с течением времени.
Я записал некоторые мысли по этому поводу, как мозговой штурм идеи.
Паттерн Наблюдатель
Эта модель кажется хорошей, однако она имеет некоторые недостатки, в том смысле, что все подводные лодки будут уведомлены вместо избирательных единиц. Это заставит меня либо проверять данные, либо обрабатывать их, либо создавать несколько наблюдаемых объектов для каждого типа данных и каскадировать их на подсистемы. Мне определенно нравится, насколько это возможно, также позволяет мне подключаться к нескольким типам источников данных в случае необходимости. С другой стороны, также кажется, что много работы для получения каких-либо результатов. Оплатив это как бы так.
Стратегия
Эта модель также представляется актуальным, но по-другому.Храните обработку необработанных данных отдельно и просто родительский класс, который содержит всю статистическую информацию (так сказать). Мне это нравится, потому что вся информация хранится централизованно, а «узлы» обрабатывают ее и возвращают. Позволяет легко получить доступ и хранить, однако количество свойств (если я не разделяю их, вероятно) будет огромным.
Пользовательские события.
Теперь - я думаю, это COULD можно рассматривать как переосмысление первого. Но мне нравится контроль, который он предлагает.
Комбинация наблюдателя и стратегии.
Это может быть странно, но выслушайте меня. Таким образом, у вашего наблюдаемого объекта есть данные, переданные ему, которые каскадируются до соответствующих подмножеств, которые будут обрабатывать эту информацию по разным причинам, затем используя стратегию от каждого из этих подсайтов и обрабатывая информацию соответственно и передавая ее обратно в подпрограмму хранение/доступ.
Примером этого может быть периодический вывод данных из какого-либо источника; эта информация может использоваться для обновления нескольких областей системы (наблюдателя), но каждая область нуждается в ее обработке по-другому (стратегия).
Является ли эта логика звуковой или я должен смотреть на нее по-другому. Мне нужно, чтобы это было расширяемым и масштабируемым, поскольку система потенциально могла обрабатывать «большие» тома.
Мысли? Пробовал быть конкретным, но оставаться на тему.