我想做一个小改动,深入JavaProtocolBuffer对象树。我可以使用.getBuilder()方法创建一个新对象,该对象是旧对象的克隆并进行了一些更改。当这在更深层次上完成时,代码会变得丑陋:Quux.BuilderquuxBuilder=foo.getBar().getBaz().getQuux().toBuilder()Baz.BuilderbazBuilder=foo.getBar().getBaz().toBuilder()Bar.BuilderbarBuilder=foo.getBar().toBuilder()Foo.BuilderfooBuilder=foo.to
背景与我一起工作的小组一直在使用和开发一个Python包,出于这个问题的目的,我将其称为foobuilder。我们使用我们为用户提供的私有(private)RPM和Deb存储库为Linux系统提供更新。最近,PyPi中添加了一个同名的公共(public)包。它还打包在公共(public)Debian存储库等地方。由于我们不公开宣传我们的套餐,因此出现同名套餐是可以理解的。疑虑这对于foobuilder来说似乎是个大问题,因为在某个地方,用户可能会尝试安装我们的foobuilder而公共(public)foobuilder软件包安装在同一系统上。除了Python中的明显问题外,我猜想将我
我正在解决一个问题,其中有多个Foo实现,伴随着几个FooBuilder。虽然Foo共享几个需要设置的公共(public)变量,但它们也有不同的变量,需要各自的FooBuilder来实现某些特定功能。为简洁起见,我想让FooBuilder的setter使用方法链接,例如:publicabstractclassFooBuilder{...publicFooBuildersetA(intA){this.A=A;returnthis;}...}和publicclassFooImplBuilderextendsFooBuilder{...publicFooImplBuildersetB(int
我正在解决一个问题,其中有多个Foo实现,伴随着几个FooBuilder。虽然Foo共享几个需要设置的公共(public)变量,但它们也有不同的变量,需要各自的FooBuilder来实现某些特定功能。为简洁起见,我想让FooBuilder的setter使用方法链接,例如:publicabstractclassFooBuilder{...publicFooBuildersetA(intA){this.A=A;returnthis;}...}和publicclassFooImplBuilderextendsFooBuilder{...publicFooImplBuildersetB(int