Кто-нибудь знает о каких-либо ресурсах, которые дают прямой пример попыток создания шаблона проектирования Model View Controller в контексте C? И, в частности, встроенная система?
Чтобы уточнить, меня не интересуют С#, С++, Objective-C, Java, PHP или любые примеры языка более высокого уровня. Я хочу знать, что люди думают о том, как подойти к этому шаблону дизайна с чистым ansi C99 или даже C89. Может быть, это даже не имеет смысла в C из-за отсутствия официальных конструкций языка ООП?
В некотором контексте: мои коллеги и я работаем над встроенными системами, основанными на чипах PSoC на основе Arm. У нас есть контроль над аппаратным дизайном и печатными платами, и мы должны сделать разработку программного обеспечения, чтобы улучшить набор функций продукта. Наша модель, как правило, состоит из сбора данных от аналоговых в цифровые преобразователи в продукте. Представления могут представлять собой веб-страницу с встроенным веб-сервером или ЖК-экран с емкостным сенсорным управлением. Наши контроллеры были бы более или менее логикой клея, которая управляет отношениями между этими двумя областями кода. У нас есть много разных продуктов и вариантов для поддержки, поэтому желательно повторное использование кода.
Не ищет высокоразвитых или корпоративных структур. Но довольно простые примеры, которые освещают хорошие стратегии для разделения проблем программирования, но с уклоном в сторону идиом, найденных на нижнем уровне С, например. структуры, функции, логику, управляемую событиями, и некоторую абстрактную передачу сообщений, которая имеет смысл в C.
Из-за характера аппаратного обеспечения нам нужно использовать C и самому самому загружать много вещей. И в некоторых случаях мы имеем доступ к ОС, а в других случаях просто компилируем прямо на процессор и начинаем с основной функции. Все очень примитивно, но ищет подходы, которые позволяют повторно использовать код и, надеюсь, ускорить процесс разработки программного обеспечения.