2017-02-11 2 views
0

Я слышал термины Data Driven и Event Driven модель от разных людей в прошлом. Я сделал Google, но эти термины все еще туманно для меня, как и из них похож на меняData Driven vs Event Driven model/architecture?

данных управляемое программирование представляет собой модель программирования, где сами данные контролирует поток программы (а не логическая программа), где в случае Программирование, управляемое событиями, Это событие, за которое сами данные не контролируют поток программы.

В случае, когда понимаешь мое понимание, это также данные. Например, в веб-приложении, основанном на сотрудниках. Если пользователь нажимает кнопку «Создать сотрудника», здесь событие создает сотрудника (который также является видом данных), а данные - это информация, связанная с сотрудником.

Теперь на сервере будет событие, которое определит, каким будет поток программы, а затем данные (информация, связанная с сотрудником) также будет контролировать поток исполнения, как если бы выполнялся постоянный сотрудник, и если он временно быть разным

Не все ли данные архитектуры, основанной на данных? Если нет, в чем разница между ними? Любой веб-основе пример поможет

ответ

0

сами данные контролирует поток программы (не логика программы)

Я думаю, вы не совсем понимают, что такое «поток» в этом контексте. Поток - это сама логика. Например, если вы выполняете какой-либо метод, который выполняет A, затем B, а затем C в его аргументы, логика будет «Apply A, B, C», и поток будет таким же, если действия A, B, C извлекаются для разделения методы. Итак, поток и логика - синонимы.

Данные, управляемые программированием означает, что некоторые общий код существует. Он не содержит никакой бизнес-логики, он не контролирует поток. Это просто инструмент для чтения и обработки данных и вывода результата. Что контролирует поток и логика - это сами данные. Итак, если вы хотите изменить бизнес-логику (буквально изменить результат своей программы), вы изменяете данные, а не код.
И ваш код, ну, это своего рода конвейер, который выполняет команды в зависимости от входных данных. Вы можете думать о таком коде как о eval функции в javascript.

В Управляемое событиями программирование Логика управляется событиями. А это означает, что данные - это только данные, и все бизнес-правила помещаются в код. Событие будет иметь некоторые данные, и логика может быть изменена в зависимости от данных события, но разница здесь заключается в том, где эти изменяющиеся логические правила размещаются - в данных или в коде; и в случае EDP логика находится в коде.

Также обратите внимание на вопрос this, некоторые ответы могут пролить некоторый свет на эту тему.

Смежные вопросы