我有一个asp.net Web应用程序,它几乎没有应用程序事件;比方说 - 创建用户。我的一个客户希望在创建新用户时收到通知。所以我有一个特定于该客户端的DLL,我可以通过注册到onCreateUser上的应用程序事件来发送通知的逻辑。
现在我想知道是否有更好的通用方法,只需更换此dll,对于不同的客户端,我可以做其他事情而不是发送通知。或者只需删除dll,我就可以关闭此行为。
编辑我知道可以通过动态加载使用属性进行反射的dll来实现这一点,就像PreApplicationStartMethodAttribute或使用Interface等一样。但是想确保我不重新发明轮子。
答案 0 :(得分:0)
我假设您正在尝试/已经实现了OOP的观察者模式? 因为这是我将构建我的代码的模式。
所以伪代码:
notification method{User createdUser}
{
bool shouldNotify = dataHandler.getUserNotificationValue(createdUser);
if(shouldNotify )
{
notifier.SendNotification();
}
}
这将删除甚至拥有DLL pr客户端,只需要db / xml文件/等的要求。以及需要通知的客户之间的关系列表。