![]() |
1
17
是的,这是一种反模式: Sequential coupling .
我会重构成
|
![]() |
2
3
|
![]() |
3
3
我不确定它是否是一个描述的反模式,但我完全同意这是一个设计糟糕的接口。它给错误留下了太多的机会,并且至少违反了一个关键原则:使您的API很难被滥用。 除了误用,如果多个线程使用同一个实例,此API还可能导致难以调试的错误。 Joshua Bloch 实际上有一个优秀的 presentation (36M16S和40M30S)关于API设计,他将其作为设计不良的API的特征之一加以论述。 |
![]() |
4
0
我看不出这里有什么不好的地方。
|
![]() |
5
0
一个可能的解决方案-使用流畅的通道。这样可以避免类包含需要按特定顺序调用的方法。这与构建器模式非常相似,它确保您不会读取仍在填充过程中的对象。 |