What I see is that the logic in the base class is very tied to the logic of the 
concrete strategy itself. It has the `execute` and `executeConcurrently` 
methods, but they're not generic. They perform very concrete operations by 
calling the concrete `api.get*` methods, so they would be mostly reused by the 
strategy itself. That's why I think it  makes sense to have them in the same 
class.

The concrete strategy class only performs the "list" operation, and I can't 
think about a different strategy that could take benefit from using only the 
base class, therefore my feeling that this is kind of a premature optimization 
that is just adding unnecessary complexity given the existing implementations 
of the strategies.

Anyway, there's no need to change it now :) Let's change the unnecessary 
methods from the interface and let's see if someone else has something to say.

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-chef/pull/47#issuecomment-49048087

Reply via email to