Blake Bender created GEODE-7009:
-----------------------------------

             Summary: Eliminate friend relationship between FunctionService and 
Execution classes
                 Key: GEODE-7009
                 URL: https://issues.apache.org/jira/browse/GEODE-7009
             Project: Geode
          Issue Type: Improvement
          Components: native client
            Reporter: Blake Bender


These classes are friends of each other, and the reasons why aren't 
particularly compelling, so that needs to end.  First, there is no reason at 
all why Execution declares FunctionService as a friend class, so that 
declaration can simply be deleted.  FunctionService declares Execution as a 
friend because it needs to allocate instances of Execution, and Execution's 
only constructor is private.  A better way to do this would be to make the 
Execution class simply be an interface, push any code in Execution down into 
ExecutionImpl, and have FunctionService instantiate ExecutionImpl directly and 
hand those out.  ExecutionImpl is a private class, so its constructor doesn't 
have to be private, thus FunctionService can allocate an ExecutionImpl without 
being a friend class.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to