在我正在处理的应用程序中,我们有在将新实体添加到存储库时触发的操作。其中一项新操作应该是使用服务(如服务层,而不是以太网中的某处的 Web 服务)在对象进入时执行一些业务规则操作。
这一切都很好,但应该使用的确切服务将根据我们正在操作的实体的属性而有所不同(基本上,基于实体与哪个客户相关)。我想让动作与它可能需要调用的服务风格保持松散耦合。
我正在考虑做的是实现一个接受实体并返回正确服务的工厂。不过,这似乎有点笨拙。有没有更好的方法来设置它?
我曾考虑在运行时使用 IoC 容器来确定正确的实现,但快速阅读一对(Ninject 和 Windsor)似乎并不表明它们非常适合这种操作。