DOYUNG YOON created S2GRAPH-170:
-----------------------------------

             Summary: Create Interface for S2Edge/S2Vertex/S2Graph.
                 Key: S2GRAPH-170
                 URL: https://issues.apache.org/jira/browse/S2GRAPH-170
             Project: S2Graph
          Issue Type: Improvement
    Affects Versions: 0.2.1
            Reporter: DOYUNG YOON
            Priority: Major
             Fix For: 0.2.1


h2. Problem Statement

S2Graph’s entire code base is dependent on S2Edge/S2Vertex/S2Graph class. Even 
though lots of code touch theses two class, there is no interface defined 
currently. This means lots of code is interact with these class in different 
way all by their own way, and this make extremely hard to make any change on 
these two classes.

For example, I was working on S2GRAPH-80 to provide java client, and there are 
too many places to be changed since all theses places use concrete 
implementation class S2Edge/S2Vertex/S2Graph, not the interfaces. Not just for 
S2GRAPH-80, but any other issues that need to change theses classes would 
benefit by communicating through interface.


h2. Suggestion

Define interface and change code base to communicate through theses interfaces.

# Create interface S2Edge/S2Vertex/S2Graph that implement Tinkerpop’s 
Edge/Vertex/Graph interface 
# Extract tinkerpop interface related implementations
# Change caller of S2Edge/S2Vertex/S2Graph to call interface rather than 
concrete implementation.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to