复杂对象通常由 Builder 模式创建,其中 Builder 是专用于通过多种方法创建单个对象的对象。EG(伪代码):
class PersonBuilder
PersonBuilder Named(string name)
this.name = name
return this
PersonBuilder Aged(int age)
this.age = age
return this
Person GetPerson()
return new Person(this.name, this.age)
这种具有流畅接口的有状态结构在构建器模式中很常见:
myPerson = builder.Named("John").Aged(20).GetPerson();
因此,创建一个可以从中创建构建器的方法是否明智?PersonBuilderFactory
或者你应该只依赖 aPersonBuilder
并假设你的类将被注入一个新对象?后一种方法意味着当您创建您的时,Person
您可能应该重置构建器。这里的最佳实践是什么,为什么?