[
https://issues.apache.org/jira/browse/HBASE-2597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12870222#action_12870222
]
Jonathan Gray commented on HBASE-2597:
--------------------------------------
In general I like this pattern (this is similar to the direction the client API
went in vs the million method signatures we used to have), but don't think
there's a need for any wholesale change to this. I'd be interested to look at
things on a case by case basis but agree with Ryan about core code.
> Use "Builder" pattern instead of many-argument constructors
> -----------------------------------------------------------
>
> Key: HBASE-2597
> URL: https://issues.apache.org/jira/browse/HBASE-2597
> Project: Hadoop HBase
> Issue Type: Improvement
> Components: client
> Reporter: Todd Lipcon
> Assignee: Todd Lipcon
> Fix For: 0.21.0
>
>
> We've got a lot of objects that have a ton of different constructors with a
> huge number of parameters. Whenever we add a new parameter, existing callers
> break, and it's sometimes difficult to keep track of which booleans/nulls
> correspond to which parameter.
> I'd like to consider moving to the "Builder" pattern in some of these cases.
> See
> http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/collect/MapMaker.html
> for an example of this pattern in action. Another good example is the
> builder API generated by protocol buffers (search for "builder" on
> http://code.google.com/apis/protocolbuffers/docs/javatutorial.html )
> I think this pattern makes code more readable and also allows us to more
> easily change around the number of arguments in our constructors.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.