CYQ.Data 轻量数据访问层(二) 构造数据单元(上)

2年前 (2022) 程序员胖胖胖虎阿
250 0 0

DataTable,你有多丰富:

轻轻的打开Reflector.exe,按下F3搜索,输入DataTable,双击定位,右键,Disassemble之后,

悄悄的点一下最下面的 Expand Methods,再从容的把它copy出来,我们才发现。。6000多行的代码

我们常用的DataTable一个类,才用了6000多行代码实现,跟我们以前写的,一个类写到一千多,就觉得有点过了

大巫见小巫啊!

 

 

解析:

当然了,不是说一个类代码越多,性能就一定不好。至少我们还是那么多人前拥后挤的在继续使用。

大而广,考虑详细,是因为面对的人群多。

针对目前这个数据访问层中,我们所需要的功能,并不需要那么多,我们只需要最常用的功能即可了,

即可以把表直接绑定控件,并访问数据行,数据列,数据单元和数据的数据库类型,

 

 

所以:

我们开始了自定义,在自定义中,我们并不继承和DataTable相关的东西。我们一步一步的构建属于自己的轻量级的Table类

 

 

下面开始构造自己的MDataTable系列类:

一.单元格:MDataCell

我们先来看我们常用的表现的一行数据,如下图:

CYQ.Data 轻量数据访问层(二) 构造数据单元(上)

描述:

图片上一览,第一行是列头,接下来全是数据行,那么单元格应该包含哪些内容?这,其实是个问题。如果我们从界面上看,一个单独的单元格,就只有Value了,

可是如果只是Value,那它又缺少了意义,因为你不知道它是属于什么列,简单说,如果没有列头,你的数据本身的意义,就变的很难理解,

除非这个值有很深的解释意义包含在里头。

 

说明:

因此,一个单元格还应该包括一个列头解释,于是。就会出现这么一个现实,如果一个单元格是由头和值组成的,那么每一行数据,都会包括重复的列头。

我们再仔细观察那图,实际上,只有一个列头,其余都是值...于是,在这里,就产生了一个可以思考的问题。

单元格需要由头和值组成,可是,又要保证数据再多,也只能存在一个表头,怎么将这个问题转化在设计的类中??

 

 

下节解说!

 

 

 

相关文章

暂无评论

暂无评论...