[
https://issues.apache.org/jira/browse/HBASE-18951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16193448#comment-16193448
]
Appy commented on HBASE-18951:
------------------------------
I see that AysncTable has like 4-5 functions. In my exp, builder pattern makes
sense when a class has many ways of constructing and object (due to nullables
or otherwise) such that it'd need many *constructors* to accurately capture all
ways of making an object for it.
And in that case too, usually 3-5 constructors (this is where personal opinion
kicks in) are fine.
With that in mind, i don't understand how does builder pattern makes sense in
context of interfaces, because they don't need constructors! Quoting from
wikipedia- "he builder pattern is an *object creation* software design pattern."
> Use Builder pattern to remove nullable parameters in RawAsyncTable/AsyncTable
> interface
> ---------------------------------------------------------------------------------------
>
> Key: HBASE-18951
> URL: https://issues.apache.org/jira/browse/HBASE-18951
> Project: HBase
> Issue Type: Sub-task
> Components: Client
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Priority: Blocker
> Fix For: 2.0.0-beta-1
>
>
> As Optional is not supposed to be used as method parameters but we do not
> want nullable parameters.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)