Skip to content

Use strategy pattern for ExpressionNode functionality#544

Merged
jasmith-hs merged 5 commits into
masterfrom
decouple-expression-node
Nov 24, 2020
Merged

Use strategy pattern for ExpressionNode functionality#544
jasmith-hs merged 5 commits into
masterfrom
decouple-expression-node

Conversation

@jasmith-hs

Copy link
Copy Markdown
Contributor

Part of #532

Depends on #543

Introducing the strategy pattern into the ExpressionNode, similar to how it works in the TagNode, allows for the interpretation functionality to not be coupled directly to the concept of an ExpressionNode. This allows for different approaches or strategies to interpreting an ExpressionNode.

For Eager Execution, the ExpressionNode needs to be interpreted slightly differently so rather than adding multiple approaches in the ExpressionNode class, it is better to abstract the functionality into this new interface ExpressionStrategy.

There is a DefaultExpressionStrategy for the current ExpressionNode's functionality, and there is a skeleton added for the functionality that will be used when performing eager execution, called EagerExpressionStrategy.

Base automatically changed from prepare-context to master November 24, 2020 20:03
@jasmith-hs jasmith-hs merged commit ccdd7ca into master Nov 24, 2020
@jasmith-hs jasmith-hs deleted the decouple-expression-node branch November 24, 2020 20:06
@jasmith-hs jasmith-hs mentioned this pull request Nov 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants