我有一个使用IPaymentService
处理信用卡付款的应用程序。通过使用ASP.NET Provider Model将适当的实现(CreditCardPaymentComponent
或CheckPaymentComponent
实现接口的任何其他东西IPaymentService
)注入到应用程序中。PaymentProvider
我们还需要这些组件可重用于可能无法访问PaymentProvider
.
问题是在哪里放置IPaymentService
接口?它不能在应用程序内部,因为有多个应用程序需要使用该服务。它不能在服务内部,因为有多个服务实现了这个接口。我不喜欢将接口放在他们自己的项目中,因为我必须在任何地方添加引用。还有其他解决方案吗?
编辑:澄清一下,使用提供者模型的目的是我们可以支持其他开发人员,这样他们就可以编写例如CustomPaymentComponent
哪些实现IPaymentService
并且它与我们的应用程序无缝协作。我倾向于@Frazell 的回答,但我只是想知道IPaymentService
与 s 放入同一个程序集是否有任何不利之处PaymentComponent
?如果你必须CustomPaymentComponent
为这个系统开发一个,什么对你最有意义?