您的位置:首页 > 产品设计 > 产品经理

QPMail项目用到的设计模式

2008-03-19 22:16 204 查看
1、 分发message(或者request)给不同类,以进行处理:类似于MVC架构中的front controler ,首先写个handler类对各种message进行分发,然后用command模式进行相关处理。

其中使用简单工厂返回一个特定的concrete command,但创建每个concrete command的同时都把不同的concrete command 用hashtable or dictionary 缓存起来,减少加载程序集和使用反射创建concrete command带来的性能消耗。

2、 处理某个message(或者 request)时,如果要经过不知数目的子处理,如何保证message的处理不被动态的、不知数目的子处理强耦合呢?

解决方案有两种:可以使用observer模式,如event 和 delegate 在asp.net module的应用;还可以使用composit模式,但树的高度为2。

3、 应对报文处理的两个方向上的变化:“报文类型分发”和“报文处理插件”也可以通过bridge模式进行设计。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: