Технически, как работают механизмы привязки данных под капотом? В частности, как выглядит механизм "синхронизатора" в привязке данных и работает как?
Во многих средах, таких как .NET, Java, Flex и т.д., они обеспечивают механизм привязки данных. Я просто использовал API-вызовы, и поэтому все легко для меня, так как все, что мне нужно сделать, это сделать вызовы API.
Теперь я заинтересован, возможно, попытаться написать относительно простой механизм привязки данных для игры, над которой я работаю. Хотя я использую С#, у меня есть причины не использовать встроенные WinForms и механизм привязки данных (см. Справочную информацию ниже по причине). Поскольку я не могу использовать существующий механизм привязки данных в С#, я думал, что мне, возможно, придется написать его самостоятельно. Итак, мне нужно знать подробные подробные сведения о том, как привязка данных обычно работает под капотом. Таким образом, я не имею в виду, как использовать привязку данных в С#. Я имею в виду, как привязка данных работает как внутри, так и по архитектуре.
Я попытался найти в Интернете учебные пособия и статьи о привязке данных, но большинство результатов пришли ко мне как к использованию существующей привязки данных в С#, чего я не хочу.
Итак, прежде чем я смог приступить к планированию написания собственного связующего данных, я подумал, что мне нужно знать, как работают механизмы привязки данных под капотом? И что еще более важно, как выглядит механизм работы "синхронизатора" в механизме привязки данных, например, как синхронизировать данные все время в одностороннем или двустороннем привязке?
Немного информации о том, почему я задал этот вопрос:
Некоторое время назад я сделал question о том, как использовать привязку данных в С# для пользовательских интерфейсов, которые не используют стандартные WinForms. Ответ, который я получил, заключается в том, что механизм привязки данных в С# тесно связан с интерфейсом WPF/Windows Forms. Итак, я думаю, я не могу использовать существующий механизм привязки данных в С# и должен, вероятно, создать его самостоятельно. Цель этого - игра, и я работаю над ней. Обычно игры имеют собственный пользовательский интерфейс (не WinForm). Я намерен настроить MVVM-дизайн для пользовательского интерфейса и игровых объектов в игре.