Java 设计一个生成器模式

Java 设计一个生成器模式,java,multithreading,design-patterns,builder,Java,Multithreading,Design Patterns,Builder,我将如何使用builder模式进行此操作,或者您可以推荐其他模式吗 我必须构建一个包含多个字段的对象。但对象的字段将在API的多个步骤中填充。API是多线程和异步的。因此,要求是: 在一个步骤中填写一些字段并存储,下一步将再次执行 拾取对象并填充字段,最后当所有 字段已填充,对象将被构造。因此,该对象将 在过去是不变的 由于它是一个多线程环境,所以最初每个请求线程 应该有一个生成器和一个对象。正如API所示 异步,如果我们缓存对象并且多个线程需要更新 对象字段。但在最后,它应该是完整的和不变的。

我将如何使用builder模式进行此操作,或者您可以推荐其他模式吗

我必须构建一个包含多个字段的对象。但对象的字段将在API的多个步骤中填充。API是多线程和异步的。因此,要求是:

  • 在一个步骤中填写一些字段并存储,下一步将再次执行 拾取对象并填充字段,最后当所有 字段已填充,对象将被构造。因此,该对象将 在过去是不变的
  • 由于它是一个多线程环境,所以最初每个请求线程 应该有一个生成器和一个对象。正如API所示 异步,如果我们缓存对象并且多个线程需要更新 对象字段。但在最后,它应该是完整的和不变的。我将如何做到这一点
  • 我能想到其他的设计模式吗

  • 是否一次只构造一个对象,或者可能同时构造多个对象?您可以使用
    PersonBuilder set(String name){this.name=name;return this;}
    Person with(String name){Person p=new Person(this);p.name=name;return p;}-换句话说,总是返回一个新对象,而不是改变现有对象。@Brett一个请求线程将有一个对象。如果有“X”个请求出现,那么将有“X”个对象需要构造。假设一个类包含n个字段。对于请求R1,将有m个步骤,并且所有步骤都是异步的,在这些步骤中,一些步骤可以是并发的。每一步都将填满x1(x1@assylias在每个字段创建中创建新的对象将不起作用。如果你考虑我所描述的场景。作为步骤S1线程将得到Obj1和步骤S2线程将得到Obj2。这看起来很像家庭作业(很好)。但是你可能应该在这里展示你的一些想法,所以我们不仅仅是为你做的。