首页 新闻 会员 周边

请问一个关于框架设计的问题..你要是遇到了会怎么办?

0
悬赏园豆:10 [已解决问题] 解决于 2015-07-18 10:39

问题是这样的:

框架中有一个Common项目,这个可以供其他任何项目调用,

换句话说,它不能调用其它任何项目!

 

在这个项目里有一个NetHelper类,

这个类里有一个发送邮件和发送短信的方法.

 

现在有一个需求,邮件和短信发完后还要将发送的数据记录在数据库中.

但是Common项目自己又不能调用Database项目里的类...

 

这时候怎样设计最合理呢?

 

是要新建一个项目,引用Common和Database这两个项目,

添加一个类现发送邮件并记录的方法吗?我只想到这样的方法,可是觉得有点怪怪的,也不知道这个新建的项目怎么命名...

 

好了,我的问题陈述完了,路过的大侠,要是您,您会怎么处理???谢谢!

 

 

 

hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2015-07-17 18:45
< >
分享
最佳答案
0

不知道事件可不可以,NetHelper加一个事件,然后在订阅这个事件。

收获园豆:8
liqipeng | 小虾三级 |园豆:1160 | 2015-07-17 21:09

是,发布消息是比较好的方法

吴瑞祥 | 园豆:29449 (高人七级) | 2015-07-17 23:24

太完美了!

hexllo | 园豆:318 (菜鸟二级) | 2015-07-18 10:40

@吴瑞祥: 太完美了!

hexllo | 园豆:318 (菜鸟二级) | 2015-07-18 10:40
其他回答(2)
0

依赖注入,简单的做法: Common.SetMailProvider(new MailProvider()),这样就ok了~

如果你觉得没有一个接口可用,那再来个更简单的: Common.SetMailFunction(Action action) //也就是传一个Action。

收获园豆:2
幻天芒 | 园豆:37175 (高人七级) | 2015-07-17 18:56
0

Facade模式,至于是项目,还只是cs文件,都无所谓

arg | 园豆:1047 (小虾三级) | 2015-07-17 21:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册