You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 11
Next »
There are 3 datastore related endpoints exists on the proxy controller.
It would be better to have just one handling all the cases like /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}
where {ncmp-datastore-name} can be set to ncmp-datastore:operational or ncmp-datastore:passthrough-operational or ncmp-datastore:passthrough-running
- If want to have full backward compatibility than we will have ':' in the URL, alternative way: just remove "ncmp-datastore:" prefix
- Use just a switch to execute the appropriate function from the old functions
- Use Factory pattern alone
- Use Builder pattern to set config for the Factory (Thanks Andras for the idea)
- Make handler Builder (Solution will be proposed by Andras)
Advantages | Disadvantages |
---|
Really easy to understand cos one can clearly see the switch and the original endpoint functions | Hard to see the common parts |
Easy to maintain | If the parameters of any original function change you have to change the new one also |
| Not that elegant |
Advantages | Disadvantages |
---|
Easy to understand by look | It cannot be a classic Factory because of the common services and constants used in the logic of the handlers |
All the business logic is abstracted away (switch and the handlers) | Factory has a constructor because of the common services and constants used in the logic of the handlers |
The business logic of the handlers are in their own Handler class | Handlers has many parameters because of the different parameter list used by the original endpoints |
Advantages | Disadvantages |
---|
See above | See above |
The user can clearly see which parameter has been set to which value on the constructor of the Factory | One more layer of abstraction |
|
|
Advantages | Disadvantages |
---|
See above | See above |
No factory is needed the handle function will be reused from the above | Not really a builder nor a Factory so maybe a bit hard to grasp at first |
|
|