It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center。
已关闭8年。
问题是:我正在开发一个框架(CLCuda,不是最有创意的名称),程序员在该框架中实例化一个对象,并且根据系统支持的内容(CUDA或AMD OpenCL),将使用相应的方法,而无需更改任何代码行。
我有一个名为
我想要这样的对象:实例化一个对象,该对象将根据用户所拥有的图形卡来初始化CUDA或OpenCL,该对象可以访问可用平台的方法(通过
我已经编码了
我该如何组织类(class)?
如果有人可以帮助...非常感谢!
已关闭8年。
问题是:我正在开发一个框架(CLCuda,不是最有创意的名称),程序员在该框架中实例化一个对象,并且根据系统支持的内容(CUDA或AMD OpenCL),将使用相应的方法,而无需更改任何代码行。
我有一个名为
CLCuda
的抽象类(纯虚拟方法,但可能只是虚拟方法),实现其方法的两个类是CLCudaCUDA
和CLCudaOPENCL
。我想要这样的对象:实例化一个对象,该对象将根据用户所拥有的图形卡来初始化CUDA或OpenCL,该对象可以访问可用平台的方法(通过
CLCudaCUDA
或CLCudaOPENCL
类)。我已经编码了
CLCudaOpenCL
和CLCudaCUDA
的方法(很难做到),所以我的问题是OOP。我该如何组织类(class)?
如果有人可以帮助...非常感谢!
最佳答案
您的问题似乎建议使用"Factory" design pattern。大概您有一种方法来确定当前主机上支持哪种方法,因此您应该在工厂的实现中加以利用。
10-04 14:27