日期:2014-05-18  浏览次数:20439 次

公司终于可以上CSDN了,散分,顺便讨论两个问题
新进了一家公司,发现架构跟我以前所遇到的有些不同,也感觉有点怪,跟大家讨论下
1.    
  .net2.0出现了泛型,所以整个系统就见不到Dataset,datatable了,全部用datareader读取数据,循环存入到List <Model> 中,这个跟使用DataSet直接获取数据哪个效率好点?
2.
  业务层和数据层每个class实列化后,都保存到session(我之前还奇怪了好久,怎么我的构造函数就不执行呢,呵呵.),难道memory就这么不值钱了啊?

------解决方案--------------------
沙发?
------解决方案--------------------
up
------解决方案--------------------
Up
------解决方案--------------------
先顶 在看问题
------解决方案--------------------
1.
.net2.0出现了泛型,所以整个系统就见不到Dataset,datatable了,全部用datareader读取数据,循环存入到List <Model> 中,这个跟使用DataSet直接获取数据哪个效率好点?
datareader 应该有自己的缓存机制.
如果象以前那样.还需要分别做 Dataset Datatable 的数据缓存.有些架构上的浪费...

2.
业务层和数据层每个class实列化后,都保存到session(我之前还奇怪了好久,怎么我的构造函数就不执行呢,呵呵.),难道memory就这么不值钱了啊?

对,效率要高.就要多用Memory
知道 Memcached Server 吗? http://danga.com 的一个Project

多用内存....
------解决方案--------------------
这么夸张吗?
------解决方案--------------------
来接分的
------解决方案--------------------
这个架构走极端了...架构由需求决定不是由流行来决定...
------解决方案--------------------
1,从面向对像来看,是个进步
难道你是面向DataTable进行编程的么

同时,我认为效率会高,你看DataTabl的乱七八糟的属性,初始化要不要时间,转化类型要不要时间,序列化要不要时间,DataReader直接get难道不比它快么

2,难道有这么多实例么? 如果是操作类,用单类模式就好,如果是实例类,那就无可厚非了,不过缓存一下比全放在Session好
------解决方案--------------------
1.
.net2.0出现了泛型,所以整个系统就见不到Dataset,datatable了,全部用datareader读取数据,循环存入到List <Model> 中,这个跟使用DataSet直接获取数据哪个效率好点?


你可以认为DataReader是ADODB中只读只前进的RecordSet
而DataSet则可以认为是非常高级的数组。

------解决方案--------------------
1.
感觉datareader的效率要高一些,但一些人读取数据库的同时还做一些其他费时的操作,造成对数据库连接资源的浪费

2.
只要内存够,那就多用,只是有必要每个对象都存进Session吗
------解决方案--------------------
只能接分了
------解决方案--------------------
不懂.. bangding。。。
------解决方案--------------------
接分
------解决方案--------------------
1.
.net2.0出现了泛型,所以整个系统就见不到Dataset,datatable了,全部用datareader读取数据,循环存入到List <Model> 中,这个跟使用DataSet直接获取数据哪个效率好点?


=======================

感觉有点java的味道。以前的开发经理(很是自大的一个人)曾经积极要求下面用这种方法开发。最终由于项目时间紧张,不得不返回dataSet时代。



------解决方案--------------------
个人感觉dataset是个很强大的东东,但由于太强大了,所以效率上的确慢了些,所以要做东西的时候根据情况选择是很必要的,小项目不用搞什么太麻烦的东西,直接dataset上去省时省力,大项目要考虑的东西太多,效率是很重要的一环。所以要慎重。
------解决方案--------------------
先占个位置再看贴~~
------解决方案--------------------
mark
------解决方案--------------------
第一种跟我们现在用的一个样..
第二种..我们代码中少用或不用Session
------解决方案--------------------
Dataset在做一些大的读取时用,普通的直接datareader搞定就行了~~
第二个问题无法回答~~
关注下....