新手关于服务器架构实现的问题,请大牛帮助

因业务需求,有一个服务器的架构如图,每个业务层要求封装成一个dll,引用关系如图,网络层在启动后,接受到客户端的消息,每个socket会生成一个新的线程进行应答,如果在应答线程中生成一个新的消息处理对象,则会提示存在循环引用。那应该如何在应答线程中分别调用业务逻辑处理层的函数,进行不同的应答?
如果采用事件模式,那如何对应不同的线程?
新手,不懂,求解答

图片说明

https://blog.csdn.net/akunshouyoudou/article/details/56682828?locationNum=2&fps=1