这是一个与设计相关的问题。
\n\n假设我们有一个名为 ClientAPI 的公共 API,其中包含一些 Web 方法,例如 CreateAccount、GetAccount。根据客户的不同,我们使用许多不同的提供商来满足这些请求。
\n\n假设我们有 ProviderA、ProviderB 和 ProviderC。
\n\nProviderA 具有 CreateAccount 的方法签名/实现,仅需要(名字,姓氏)并使用 ProviderA 创建帐户。
\n\nProviderB 具有 CreateAccount 的方法签名/实现,需要(名字、姓氏、电子邮件、出生日期)并使用 ProviderB 创建帐户。
\n\nProviderC 具有 CreateAccount 的方法签名/实现,需要(昵称、CompanyKey、电子邮件)并使用 ProviderC 创建帐户。
\n\n客户端不需要知道或关心它们是哪个提供者。当调用客户端 API 方法 CreateAccount 时,客户端 api 将计算出需要调用的提供程序并调用该提供程序方法。
\n\n我这里有两个问题。
\n\n1)该模型的最佳设计/模式是什么?另请记住,提供程序的数量将会增加 \xe2\x80\x93,我们将添加更多提供程序。
\n\n2)关于传递参数\xe2\x80\x93,目前ClientAPI CreateAccount方法签名是一大行变量,如果新的提供者需要新值,方法签名会添加另一个变量,这显然破坏了旧的实现等等。将方法签名中的参数数组/列表/字典传递到下面的提供程序中是否是一个好习惯,或者是否有更好的方法?
\n