我想知道在使用DI框架时如何正确地使用抽象工厂,而该工厂中的一个参数是依赖项,而依赖项应该由DI框架处理。例如,我有一个TcpServer,它使用一个Session.Factory创建套接字。会话对象实际上在其构造函数中接受一个处理器。我应该将处理器传递给TcpServer,然后将它传递给Session.Factory,还是让DI容器进行连接?class Session : ISession public delegate ISession Facto
代码片段myFactory = std::make_shared<AbstractFactory>(ConcreteFactoryA());显然首先创建一个AbstractFactory,然后用ConcreteFactoryA然而,顾名思义,正如编译器告诉我的那样,AbstractFactory不能被实例化。您可以将shared_ptrs与抽象类一起使用吗?使用普通指针的代码:#include "AbstractFactory.h"
class
大家都知道,AbstractFactory在不了解创建过程的情况下帮助创建对象。这将需要对抽象工厂创建者类进行重大更改。我过去经常使用AbstractFactory,但经过我自己的修改,就像这样:将抽象工厂创建器类替换为空接口,该接口将由工厂类实现。这是有效的,但我想知道这是否打破了模式,或者这是模式上的一个糟糕的实践,或者它有任何缺点,将导致在未来的开发中相同的复杂性?return new Rectangle(); }//p