Принцип работы двунаправленной обработки информации в программировании заключается в том, что один фрагмент кода может выполняться несколькими способами, так что одни и те же данные иногда рассматриваются как входные, а иногда как выходные. 2
Например, запуск программы в прямом направлении может преобразовать входные данные в выходные, а запуск в обратном направлении будет принимать в качестве входных данных версии входных и выходных и выдавать новую версию входных данных в качестве выходных. 2
Двунаправленная обработка информации используется для связи модели и представления, когда обновление (например, текст в поле ввода) сразу корректирует остальные сведения в заданной модели. 1
Также двунаправленные преобразования помогают поддерживать согласованность нескольких источников информации и предоставляют абстрактное представление, позволяющее легко манипулировать данными и записывать их обратно в источник. 2