为什么有人说"Builder Pattern"比使用Fluent接口的Extension方法更好?

Joh*_*ers 2 c# extension-methods fluent builder

在本讨论中(创建流畅的API),响应表明Builder模式比使用Extension方法创建Fluent接口要好.

这可能是什么原因?扩展方法遵循SOLID原则中的"O"......我个人只使用扩展方法来开发Fluent接口,但我想知道是否需要重新考虑这个...

Eiv*_*ver 5

SO问题描述了扩展方法的缺点.

此外,有人认为,扩展方法违反了开放/封闭原则而不是遵循它,因为它们以原始创建者可能没有预期的方式引入特征.

如果Builder Pattern实现了相同的目标而没有缺点,那么为什么不使用它呢?