[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12621066#action_12621066
 ] 

Doug Cutting commented on ZOOKEEPER-113:
----------------------------------------

Interfaces are hard to evolve back-compatibly.  So if there's a chance that 
user-code might implement this, it will be impossible to change without 
breaking that user code.  Thus I generally discourage interfaces in public APIs 
when back-compatible releases are a project goal (which they ought to be, if 
you want to retain users).

> ZooKeeper.java should be interface not concrete class.
> ------------------------------------------------------
>
>                 Key: ZOOKEEPER-113
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-113
>             Project: Zookeeper
>          Issue Type: Improvement
>          Components: java client
>            Reporter: Patrick Hunt
>
> I think ZooKeeper class in src/java/main should be an interface rather than a 
> concrete class. Among other OO goodness this would give us more flexibility 
> when implementing tests on client code. Would also require something like a 
> factory to be created, which might actually work well with another JIRA we 
> have which is the idea to use a URI(s) rather than a host:port combination 
> when creating zookeeper clients.
> Unfortunately this would have a big impact on clients as it's not b/w 
> compatible (instantiating a new client that is).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to