首页 新闻 搜索 专区 学院

实际编码中设计模式的应用场景?

0
悬赏园豆:5 [待解决问题]

场景:网站发送消息。

三种类型消息:邮件、短信、站内消息

消息预定义了很多方法,比如会员注册后发送邮件+站内欢迎消息;购物后发送短信+邮件+站内消息,付款后发送邮件+站内消息;购物完毕后发送邮件+站内消息。类似这样的方法不下几十种。

现在想重构代码,该应用哪种模式呢?

红尘中迷茫的主页 红尘中迷茫 | 初学一级 | 园豆:60
提问于:2013-04-09 19:13
< >
分享
所有回答(2)
0

仅仅说说我的思路吧,干一件事情有很多方式,如果无法选择,先有你最熟悉的方式实现,再优化,PDCA模型。如果可能,在设计时考虑重要接口。

jinhuawang76 | 园豆:303 (菜鸟二级) | 2013-04-09 21:59
0

当然是observer模式了。

public class Msg

{

     List<IMsgObserver> observers=new List<IMsgObserver>();

  

     AddObserver(IMsgObserver observer);

     RemoveObserver(IMsgObserver observer);

     SendMsg(msg);

}

 

public abstract class IMsgObserver

{

  abstract void SendMsg(msg);

}

 

public class Mail:IMsgObserver{}

public class Sms:IMsgObserver{}

public class InternalMail:IMsgObserver{}

 

结构大概就是这个,可以具体参考。

小AI | 园豆:354 (菜鸟二级) | 2013-08-09 20:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册