bal*_*dre 2 c# oop design-patterns asp.net-mvc-2
我想在我的Web应用程序中创建一个" 模块 "布局,这样我就可以轻松添加更多相同类型的模块,例如:
例如,我的WebApp处理订阅和电子邮件活动,我想创建一个界面,以便轻松耦合多个API,MailChimp,CampaignMonitor,iContact等...
所以我将创建一个IMailingService界面,我在其中设置基本规则,所有模块都将实现它
public class CampaignMonitorService : IMailingService
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好...
如何在我的webapp上执行操作时触发接口方法?
我应该实现观察者设计模式,我应该简单地创建事件处理程序,还是任何其他钩子?
例如,在用户订阅时,我想在该AddSubscriber方法上触发该方法interface
AddSubscriber(string email, string[] args);
Run Code Online (Sandbox Code Playgroud)
创建列表,取消订阅等等...
处理这种情况的最佳方法是什么?
事件处理程序是 Observer模式通常在.NET中实现的方式.该模式是.NET世界的一等公民,非常类似于Iterator模式的内置(with foreach和yield return).
如果您确实想要使用没有事件/事件处理程序的模式,则可以使用new IObserver<T>和IObservable<T>(在.NET 4.0中引入).
| 归档时间: |
|
| 查看次数: |
1038 次 |
| 最近记录: |