Repository navigation
Removed interface factory - #333
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## release-3.0 #333 +/- ##
===============================================
- Coverage 94.08% 93.96% -0.13%
===============================================
Files 50 48 -2
Lines 4094 3946 -148
===============================================
- Hits 3852 3708 -144
+ Misses 242 238 -4
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
Thinking about The model would have to know its calculator and have to reach a backend. Either the model stores a calculator reference, which is exactly what we have removed, or it must find it through (hidden) global state. I mean... we could easily do it: So from the user POV this is easier, but internally, it introduces things we wanted to be removed in the first place. Also, a model may have many fit functions (e.g. in reflectometry my model would have separete callables per channel and per resolution function). A single method per model won't be abnle to describe that. Serialization - we would have to explicitly skip the calculator slot and Currently, the model stays pure state. The fitter knows only |
damskii9992
left a comment
There was a problem hiding this comment.
Just some tests that needs to be removed. But otherwise this LGTM.
Code:
Removed InterfaceFactory and associated logic.
This change moved the calculator ownership into the technique specific libraries, allowing a clear separation of responsibilities.
Removed Parameter's
callbackkeyword andvalue_no_call_backDropped
AnalysisBase(interface=...)and made AnalysisBase arguments keyword-only.Documentation:
external-calculators.md, explaining how to connect an external calculator to an EasyScience model andFitter. With diagrams, examples, and best practices for integration and fit control.Cleanup: