2

Я ищу языки, библиотеки или рамки программирования, которые предоставляют «активные выражения» в смысле формул Excel, где изменение значения объекта приведет к перерасчету всех выражений ссылаясь на упомянутое предприятие, потенциально уволяя дальнейшую рекомплуатацию.Язык программирования или библиотека для «активных выражений»

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

Кто может предоставить ссылки?

С наилучшими пожеланиями,
Себастьян

+4

Это называется [реактивное программирование] (http://en.wikipedia.org/wiki/Reactive_programming). – delnan

+0

Мне интересно узнать, что люди придумали для этого. Мои два цента - то, что вы описываете, звучит как шаблон Observer - http://en.wikipedia.org/wiki/Observer_pattern. Многие языки могут обрабатывать этот шаблон, поэтому, возможно, стоит посмотреть примеры, чтобы увидеть, какой язык вам лучше всего подходит. –

+0

нет, это не «шаблон наблюдателя», хотя он может быть использован для реализации реактивной платформы программирования. – Javier

ответ

3

Cells library является примером такой структуры. Он был перенесен на несколько разных Лиспов, и теоретически один и тот же подход можно применять с любым другим языком.

2

observer pattern может быть хорошо подходит для вашей ситуации.

Если ваши выражения относятся к одному объекту, классический шаблон наблюдателя будет работать хорошо. Если ссылки, на которые ссылаются объекты, также являются выражениями, которые ссылаются на другие сущности, и те объекты ссылаются на другие объекты и т. Д., Вы можете видеть, как это может стать запутанным беспорядком. В этом случае конкретное использование наблюдателя под названием event bus может обеспечить элегантное решение. Таким образом, ваши организации регистрируют и отправляют события через центральную шину событий.

0

В Flex SDK и C# это называется привязкой, которая в основном использует события, чтобы поддерживать все в актуальном состоянии.