首页 新闻 搜索 专区 学院

Discuz!NT源代码中 IDataProvider接口的疑问

0
悬赏园豆:20 [已解决问题] 解决于 2012-05-14 09:43

csdn上发了关于这个疑问,但还没解开我的疑问,发这来看看有没有好的解答。

Discuz!NT源代码中,发现数据操作函数接口居然只定义了一个IDataProvider,所有操作函数都定义在里面至少800多个,虽然通过partial把实现具体的DataProvider类分放到不同cs文件中,但是总感觉很别扭,有悖单一职责。
我不知道为什么要这么定义,这样有什么好处吗??
为什么不分开来呢?直接按照职责多定义几个接口不也可以吗?
而且逻辑层调用的时候也方便啊,如果按照这么大一个接口去设计,调用的时候很麻烦还要从800多个方法里找...
人家这样设计估计也有道理,可是我没有看出来呢

http://topic.csdn.net/u/20120510/16/a4deb7ec-b8e7-4cf0-9885-8d41424400b0.html

以上是csdn上的帖子  可以看看  有人说对插件开发好  我不知道好在哪

快乐乔巴的主页 快乐乔巴 | 菜鸟二级 | 园豆:220
提问于:2012-05-14 08:35
< >
分享
最佳答案
0

这样做的目的是,如果有人扩展开发,但是这些方法又需要用到,分开多个文件的话,别人使用难度增加。

当分开多个接口时,如果需要创建接口时,new操作会消耗更多的资源,单一接口,如果做单列的话,很容易做

收获园豆:10
az235 | 大侠五级 |园豆:8283 | 2012-05-14 09:02

看来根据项目不同设计也是不一样的   不过对于Discuz!NT来说为了扩展我认为这么做也挺合适  以后维护很是方便  谢谢大家的回答了

快乐乔巴 | 园豆:220 (菜鸟二级) | 2012-05-14 09:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册