You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2010/05/22 01:14:16 UTC

[jira] Created: (HBASE-2597) Use "Builder" pattern instead of many-argument constructors

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.