Для тех, кто видел мои другие вопросы: я делаю успехи, но я еще не обдумал этот аспект.Я перелистывал ответы на вопросы stackoverflow и сайты, такие как Cocoa With Love, но я не нашел подходящий макет приложения (почему такое отсутствие примеров научных или бизнес-приложений? Примеры рецептов и книг слишком упрощены).
У меня есть приложение для анализа данных, которое выглядит следующим образом:
Communication Manager (singleton, управляет оборудованием)DataController (сообщает Comm.mgr, что делать, и проверяет необработанные данные, которые он получает)Модель (получает данные от контроллера данных, очищает, анализирует и сохраняет их)MainViewController (скелет прямо сейчас, слушает comm.mgr для представления представлений и предупреждений)
Теперь, мои данные никогда не будут напрямую отображаться в представлении (как простая таблица сущностей и атрибутов), я, вероятно,использовать основной график для анализа результатов анализа (как только я это выясню).Сохраненные необработанные данные будут огромными (10000 точек), и я использую вектор c ++, обернутый в класс ObjC ++ для доступа к нему.Класс векторов также имеет функции encodeWithCoder и initWithCoder, которые используют NSData в качестве транспорта для вектора.Я пытаюсь следовать надлежащим методам проектирования, но я заблудился о том, как добавить постоянное хранилище в мое приложение (которое потребуется для хранения и просмотра старых наборов данных).
Я прочитал несколько источниковговорят, что «бизнес-логика» должна войти в модельный класс.Вот как у меня это сейчас получается, я отправляю им необработанные данные, и он анализирует, очищает и анализирует результаты, а затем сохраняет их в массивах ivar (векторного класса).Тем не менее, я еще не видел пример Core Data, в котором есть управляемый объект, который является чем-то иным, чем простым хранилищем базовых атрибутов (строк, дат), и у них никогда нет бизнес-логики.Поэтому мне интересно, как я могу объединить эти два аспекта?Должен ли весь мой анализ идти в контроллер данных и управлять им в контексте объекта?Если так, где моя модель?(кажется, нарушает архитектуру MVC, если мои данные хранятся в моем контроллере - прочитайте: поскольку это векторные массивы, я не могу постоянно кодировать и декодировать их в потоки NSData, им нужно место для существования, прежде чем я сохраню их на дискс базовыми данными, и им нужно место для существования после того, как я извлечу их из хранилища и расшифрую их для проверки).
Любые предложения будут полезны (даже в отношении макета, который я уже начал).Я просто нарисовал некоторые связи между объектами, чтобы дать вам представление.Кроме того, у меня пока нет никаких связей между моделью и контроллерами вида / вида (сейчас используется NSLog).