Решение: uint32_t в C # будет просто uint, поэтому ваш класс GpioPulse C # должен быть таким же простым, как и версия C, например. публичная структура GpioPulse {uint gpioOn; uint gpioOff; uint usDelay; }
То, что Вы описываете, является на самом деле подмножеством Образцового Контроллера Представления под названием Пассивное Представление.
Пассивное Представление является еще одной вариацией на образцовый контроллер представления и образцового предъявителя представления. Как с ними UI разделяется между представлением, что дескрипторы отображаются и контроллер, который отвечает на пользовательские жесты. Существенное изменение с Пассивным Представлением - то, что представление сделано абсолютно пассивным и больше не ответственно за обновление себя из модели. В результате вся логика представления находится в контроллере. В результате нет никаких зависимостей ни в одном направлении между представлением и моделью.
Переговоры Martin Fowler об этом в вышеупомянутой ссылке и кратко обсуждают другие изменения здесь.
Я предполагаю, а не MVC, это - просто VC затем, а?;)
В реализациях MVC представление подписывается на изменения в модели и действует на контроллер; контроллер вносит изменения на модели, которая распространена к представлениям посредством их ссылки на модель. В Вашем случае это звучит больше как, Вы проложили свою модель под землей в Вашем контроллере (в конце концов, необходимо получить данные из где-нибудь); это не обязательно плохо или что-либо, но это - также не MVC в строгом смысле.
Ваш подход много походит на MVP, но я не мог сказать наверняка без большего количества деталей.
В самом строгом из смысла, нет. Но это имеет ПУТЬ к представлению для общения с Моделью в случае необходимости, не изменяя архитектуру/интерфейсы?
[Например, если у Вас есть TalkToModel () реализованный метод, даже при том, что Вы не используете его ВСЕ ЖЕ, MVC, по моему мнению.]