首页 新闻 会员 周边 捐助

关于单例模式

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

看到一个项目,里面几乎所有的DAL都是单例的,   这样好么?一个稍微慢点的查询,影响了后续的查询!!!   求大神分析分析

何其菜的主页 何其菜 | 初学一级 | 园豆:173
提问于:2015-11-19 16:15
< >
分享
所有回答(9)
0

这个不清楚,我用的是mvc的三层架构,bussiness层也是用的data层的单列模式

如此低调的男人 | 园豆:842 (小虾三级) | 2015-11-19 16:20

这么用肯定有好处,  但是我看到的坏处比好处多,  哎,  来个大神来说下啊

支持(0) 反对(0) 何其菜 | 园豆:173 (初学一级) | 2015-11-19 16:28

@何其菜: http://www.cnblogs.com/seesea125/archive/2012/04/05/2433463.html你看一下这个呗

支持(0) 反对(0) 如此低调的男人 | 园豆:842 (小虾三级) | 2015-11-19 17:04
0

只有合适的才是最好的,项目开发过程中不一定会用最合适的技术,往往是程序员熟悉或者是偏好哪一方面,就使用了哪一方面的技术。

爱克斯贼冀 | 园豆:215 (菜鸟二级) | 2015-11-19 16:30

 比如,  能举个例子,   现在我看到的就是查询排队排队排队   

支持(0) 反对(0) 何其菜 | 园豆:173 (初学一级) | 2015-11-19 16:35
0

不要把排队做到数据层。在上层就做负载,项目如果做负载均衡应该不会有大问题。你多虑来了。

Beyond-bit | 园豆:2885 (老鸟四级) | 2015-11-19 16:44

  不是我写的,我新入职的公司的项目!   感觉这样不好,但是又不好说

支持(0) 反对(0) 何其菜 | 园豆:173 (初学一级) | 2015-11-19 16:50
0

 首先你得搞明白你系统里的排队是不是单例引起的?!

 据我所知单例是不会引起排队,你系统的排队可能是你系统没有做多线程处理

xmj112288 | 园豆:126 (初学一级) | 2015-11-19 17:00
0

所有的都是单例当然不好,单例是确保有一个且只有一个类的实例,你该去想想什么东西需要是单例的,比如系统只能有一个窗口处理器,或者一个打印机处理程序,或是单个的到数据库引擎的访问点,你的PC机会有几个串口,你就不能用单例,但是只能有一个“COM1”实例,就需要用单例,这是我对单例的看法(2种常见的实现就不说了),单例与用什么框架没什么关系,与你说的排队没什么关系

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-11-19 17:48
0

首先并不是单例就会像你说的那样排队。除非他对象内 有锁。单例并不会对并发性能有任何影响。

当觉得什么什么的时候,想想为什么。。

吴瑞祥 | 园豆:29449 (高人七级) | 2015-11-20 10:37
0

可以这么做,虽然只有一个对象。适量的用效率不是考虑首要的应该考虑整体

朝向远方 | 园豆:224 (菜鸟二级) | 2015-11-21 17:21
0

具体情况具体分析吧。。。首先你的DAL有没用到ORM,在配置使用的时候有没用到锁,没有任何的源码实在不好判断是什么引起的效率问题

古月三石 | 园豆:259 (菜鸟二级) | 2015-11-24 16:49
0

查询的排队 和单例无关

因为对象在取的时候会被锁定住 但是调用方法的时候不会被锁住啊

你确认是因为单例导致的查询排队?

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2015-11-26 11:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册