我正在使用Caliburn Micro和autofac创建WPF应用。我的解决方案分为4个项目,例如Views,ViewModels,Models,Services。我需要的是带有参数的函数,并且基于该参数它必须返回ViewModel。首先想到的是在Services层中创建Factory,但是问题是我的ViewModels项目依赖Services,它将创建循环依赖项。另一方面,我可以在视图模型中创建一个函数来执行此操作,但它似乎不正确(SRP)。我知道我可以将所有项目合并为一个,但是如果我被迫这样做,那说明我做错了。有什么建议吗?