在我正在处理的应用程序中,我们有一些操作会在将新实体添加到存储库时触发。其中一项新操作应该使用服务(如服务层,而不是以太网某处的Web服务)来执行某些商业规则操作。根据业务规则选择服务实现
这是一切都很好,但是应该使用确切的服务会根据我们操纵的实体的属性(基本上,根据实体与哪个客户有关)而变化。我希望保持松散的行动,以适应可能需要调用的服务。
我想要做的是实现一个工厂,它将接受实体并返回正确的服务。不过,这看起来有点不方便。有没有更好的方法来设置它?
我曾经考虑过在运行时使用IoC容器来确定正确的实现,但仔细阅读一对(Ninject和Windsor)似乎并不表示它们非常适合这种操作。
'工厂'方法几乎是这样的事情的正确设计。你为什么这是“有点傻”? – Oded
我不确定。我想我只是不喜欢在某处放出服务的巨大转换语句的想法。似乎应该有一个更优雅的方式。所以,我想我会检查是否有其他人知道。 :) – Michael
那么,如果这是所有的类/方法正在做,显然这是它的工作......比试图对它“聪明”更好。 – Oded