在介绍这些内容之前,我们首先来了解什么是面向对象,面向对象的核心是什么?
一、面向对象的简单介绍
起初,“面向对象”是专指在程序设计中采用封装、继承、多态等设计方法。但,后来面向对象的思想设计到了各个方面。一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。
所以我们可以简单的将面向对象的核心概况为对象,也可以说是类。
二、实体的简单了解
实体类是用于对必须存储信息和相关行为建模的类。实体对象(实体类的实例)用于保存和更新一些现象的有关信息。
实体类将大量的数据进行封装然后传递,体现了面向对象程序开发的思想。在三层架构中,U层和B层的编写可以不用了解数据库的结构,通过该实体对象的属性把所需要的字段提取出来。
三、在面向对象的思想下看传参和实体
传参是传递某几个字段,而面向对象是对对象的操作。而这些字段可以看做对象的一些属性,将这些字段封装为一个实体类。所以在面向对象的思想中,我们选择了用实体代替参数进行传递。
三、三层架构中查询返回实体还是返回DataTable
DataTabel是个数据集,相当于数据表在内存中的映射,是一个临时保存数据的网格虚拟表。它是D层与数据库交互得到的产物。它的特点是:DataTabel是弱类型,围绕数据库编程的。datatable在使用时,需要了解数据库的结构,比如,我们想要获得某个字段的值,就必须知道它在数据表中的第几个字段,例:datatable.rows(1).Item(2)等。但B层和U层是不涉及数据库的,所以我们用传实体来代替DataTabel。
四、DataTable到实体的转换
DataTable到实体的转换我们用到了泛型集合。把DataTable中的每一行记录视为一个实体类,把其中的字段读取出来,存放到实体类的属性中,再把所有的实体类存在泛型集合中。因此,DataTable中有多少个记录,泛型集合中就有多少个实体类,每个实体类的属性和DataTable的字段是相对应的。
五、总结
对于单表查询,可以将DataTable与某个实体类对应,但是如果多表查询呢,没有实体类与之对应,没有实体类就没有办法转换,我们再建立一个差不多的实体?
目前比普遍的解决方案就是创建一个包含多个表的实体类,只要实体类中包含联合查询的这些表就可以。但是这样效率没DataTable高。
所以如何合理的使用实体与DataTable呢?我们可以看看这篇文章http://www.doc88.com/p-252204056930.html(仅供参考)。