Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 给出了一个抽象接口。需要提供自己的实现的唯一线索在于没有找到工厂函数?_C++_Interface_Factory_Library Design - Fatal编程技术网

C++ 给出了一个抽象接口。需要提供自己的实现的唯一线索在于没有找到工厂函数?

C++ 给出了一个抽象接口。需要提供自己的实现的唯一线索在于没有找到工厂函数?,c++,interface,factory,library-design,C++,Interface,Factory,Library Design,诚然,这是一个相当理论化的问题 我想更多地从图书馆设计师的角度而不是从图书馆用户的角度来问这个问题。 尽管目标是为用户提供尽可能简单的设计 是否有任何gideline/best practice,说明用户应该始终实现给定的接口?或者某个地方提供了工厂功能,创建了实现该接口的合理对象 当然,在几乎所有情况下,这一点都应该从上下文中明确。另一个需要这样一个接口作为参数的库函数可以自解释从何处获取该接口。因为它只是某个链条中的一个环节。 但我希望你们中的一些人能够想象一个相当进化的系统或库,不再那么容

诚然,这是一个相当理论化的问题

我想更多地从图书馆设计师的角度而不是从图书馆用户的角度来问这个问题。 尽管目标是为用户提供尽可能简单的设计

是否有任何gideline/best practice,说明用户应该始终实现给定的接口?或者某个地方提供了工厂功能,创建了实现该接口的合理对象

当然,在几乎所有情况下,这一点都应该从上下文中明确。另一个需要这样一个接口作为参数的库函数可以自解释从何处获取该接口。因为它只是某个链条中的一个环节。 但我希望你们中的一些人能够想象一个相当进化的系统或库,不再那么容易理解

关于是否在某个地方有一些工厂功能,或者用户是否总是需要提供自己的实现这一基本问题,如何防止对接口的理解变得越来越困难

答案是否存在于注释、文档或代码中

我猜工厂函数应该总是在接口附近声明。如果没有,就没有了。
但我不知道这是否是一个太软的指导方针,或者可能无法始终实现。

我认为您需要更具体一些。文档。任何人都不应该通过猜测一切是如何工作的来编写程序。无论何时使用图书馆,你都应该阅读文档。我认为你需要更具体一些。文档。任何人都不应该通过猜测一切是如何工作的来编写程序。无论何时使用图书馆,都应该阅读文档。