Ticket #464 (closed: fixed)
Change AlgorithmManager to store a Proxy version of the algorithm
Reported by: | Nick Draper | Owned by: | Roman Tolchenov |
---|---|---|---|
Priority: | major | Milestone: | Iteration 16 |
Component: | Keywords: | ||
Cc: | Blocked By: | ||
Blocking: | Tester: |
Description
Reason for change: This allows the actual algorithm class to be destroyed and any memory used reclaimed. Only the vital information such as property values would be maintained.
The Proxy, which I believe we can make completely generic to all algorithms should store all of the parameters that the original algorithm held.
It should still support the IAlgorithm interface. Except that for initialise and execute the code would have to first create the underlying algorithm, share the property managers and then pass through the original request.
The property Manager inheritance within Algorithm should be extracted and encapsulated in the PropertyManagerOwner class. This would in effect allow the same operations while holding the underlying property Manager as a shared pointer, therefore allowing both the proxy and the algorithm itself to share a PropertyManager.
The IPropertyManager class will ensure the methods of the various implementations stay consistent.
The attached uml diagram should help explain this otherwise come and talk to me.
Attachments
Change History
comment:10 Changed 12 years ago by Roman Tolchenov
comment:11 Changed 12 years ago by Martyn Gigg
comment:12 Changed 12 years ago by Roman Tolchenov
comment:13 Changed 12 years ago by Roman Tolchenov
- Status changed from new to closed
- Resolution set to fixed
comment:14 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 1312