Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor the DSL Interface #43

Closed
Clayton7510 opened this issue Mar 23, 2017 · 3 comments
Closed

Refactor the DSL Interface #43

Clayton7510 opened this issue Mar 23, 2017 · 3 comments

Comments

@Clayton7510
Copy link
Collaborator

Separate the interface (flow) from the API.

@Clayton7510
Copy link
Collaborator Author

Clayton7510 commented Mar 23, 2017

This is going to have some consequences for the DSL. The POJO rules should be unaffected.
Those who were using the DSL following the examples and the recommendations shouldn't much if any breaking changes. However, there is a possibility that some people using the DSL outside of the normal interface pattern could find breaking changes.

The good news is that this should be the last major refactoring of the DSL for quite some time, since this update will allow for easier extension of the DSL. Also, I don't expect it to grow too large, anyway.

That's the plan right now. I think there is probably some expectation that releases prior to 1.0 carry with them some level of uncertainty. That's easy to shield from the POJO Rules, less so from the DSL.

@Clayton7510
Copy link
Collaborator Author

Any significant breaking changes will have the existing interface deprecated so that backwards compatibility is preserved.

@Clayton7510 Clayton7510 changed the title Reactor the DSL Interface Refactor the DSL Interface Mar 25, 2017
@Clayton7510
Copy link
Collaborator Author

Clayton7510 commented Mar 29, 2017

There will be significant changes due to a few of things:

  1. to make it super flexible for swapping in new algorithms for rules chaining
  2. to separate the model (CQ) from the DSL (builder)
  3. to get the RuleBook away from keeping a reference to a FactMap
  4. to leave the door open for things like Immutable FactMaps (but still allowing Facts to change/be added/removed while execution was in progress)

POJO Rules should not change. And existing functionality will be deprecated, but still available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant