我有以下健身俱乐部场景(用 C++ BTW 编码):
我想创建随机的 Guest 和 Trainer 对象(因此两者都会随机生成名称,但来宾也会有随机的健康数据)。
我希望能够制作许多不同复杂度的随机生成器。
很明显,两者都需要随机名字/姓氏生成器功能 - 但我不确定如何将这段代码保存在一个地方。
我可以有一个包含所有生成方法(例如 generateForename())的抽象工厂,所有需要随机生成的对象都可以使用它。但是,培训师是否应该有权访问可以生成健康数据的工厂,即使它与这些数据无关?
我还考虑过为每个类建立一个抽象工厂——一个用于人,一个用于客户,一个用于客人,并让对象通过将它们传递给适当的工厂来生成它们的超类,但这对于这种情况来说听起来过于复杂。
我对此很陌生,所以如果我的设计有点偏离,请原谅我。
你们有什么建议?