Yes. The difference in my opinion, the constructor is only for creating an object and simple initialization(assignment operation) for attributes. And Init method is for complex initialization for attributes.
Sheng Wu <[email protected]> 于2019年11月30日周六 下午8:55写道: > Question, does constructor and #init are always being called together, if > so, at least, you don’t need both of them. > The key of this discussion is, what is the difference logically in your > mind between constructor and #init method . > > guangyuan wang <[email protected]>于2019年11月30日 周六下午8:33写道: > > > And 4. "new ConfigTreeNode().init(param1,param2,param3);". > > > > Zonglei Dong <[email protected]> 于2019年11月30日周六 下午6:01写道: > > > > > Hi ShardingSphere community, > > > > > > > > > > > > Now, We are refactoring ShardingSphere’s orchestration module. We have > > > some problems and want to discuss with community. > > > > > > > > > For Apollo as a ConfigCenter, I want to construct a “ConfigTreeNode” > > class > > > for representing the relationships between all config keys and it’s > > > childrenkeys, and the ConfigTreeNode class define a init() method for > > > initialize > > > the relationships. > > > > > > > > > If we want to init the ConfigTree, we can call the init() method like > > this: > > > > > > > > > ConfigTreeNode root = new ConfigTreeNode(param1, param2, param3); > > > root.init(param4, param5); > > > > > > > > > Some developer think this isn’t a good practice, want to combine two > > lines > > > of code into one line. > > > > > > > > > We discuss some code styles: > > > > > > > > > 1. "ConfigTreeNodeFactory.init(param4, param5)”, but it must define > > > another ConfigTreeNodeFactory class; > > > > > > > > > 2. "new ConfigTreeNode(param1, param2, param3).init(param4, param5)"; > > > > > > > > > 3. Auto call init() method in ConfigTreeNode’ constructor method, and > > > caller doesn’t care of it. > > > > > > > > > Which does a good idea and do you have other good suggestions? > > > > > > > > > Thanks! > > > Zonglei Dong > > > Apache ShardingSphere > > > > > > > > > -- > Sheng Wu 吴晟 > > Apache SkyWalking > Apache Incubator > Apache ShardingSphere, ECharts, DolphinScheduler podlings > Zipkin > Twitter, wusheng1108 >
