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