实体类是用于对必须存储的信息和相关行为建模的类。
实体对象(实体类的实例)用于保存和更新一些现象的有关信息,例如:事件、人员或者一些现实生活中的对象。实体类通常都是永久性的,它们所具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。
1.对于大量的数据来说用基本数据类型变量做参数显示不合适. 比如,我要把某个学生的所有信息传到下层, 包括姓名、年龄、 学号、 班级......如果拿变量做参数 ,那在你的方法中起码有n个参数 。这样不仅繁琐而且很容易造成参数匹配上的错误, 而如果拿实体对象做参数则方便的多,只要传一个学生实体就可以了,然后在方法里通过实体属性获取或者设置实体对象里的成员属性值 。
2.实体对象实际上是对应着数据库里的每张表的,我们把表里的字段封装在一个实体对象里。当你想用哪个字段,通过该实体对象的属性把那个字段提取出来,这比你临时创建一个变量要灵活的多而且便于程序的维护和扩展.在实际的三层结构开发中实体层的作用就是便于层和层之间的数据传递
3.实体体现了面向对象程序开发的思想,把大量的数据进行封装然后传递.当然如果只是一两个参数,那么传递实体或者传递变量都可以 。比如你想查询某个学号的学生信息,那么你完全就可以以StudentNumber为参数传下去, 就没必要把他再封装到实体对象里了。
实体类与Datatable 的比较
实体类是强类型。强类型的则严格要求在编译期进行检查 ,它为变量启用 IntelliSense® 支持。这允许您在输入代码时看到变量的属性和其他成员。它会运用编译器类型检查。这将捕捉到因溢出等错误而在运行时失败的语句。这也可以在不支持方法的对象上捕捉对方法的调用。使代码的执行速度更快。在分层开发中编写其他层的人员无需手动填写需要的字段,直接按一下点,全都提示出来了,想用哪个用哪个,不会出现写错的情况。不必刻意去了解数据库结构。符合面向对象思想。实体类的属性是强类型,每个字段的类型都是已知的。由于大量的实体类以及实体与实体之间的关联关系会降低开发的速度,但运用实体会使软件易维护、功能扩展。
Datatable为弱类型,弱类型的检查很弱,仅能严格的区分指令和数据。所以一些数据类型的错误在强类型下就可以在编译期检查出来,而弱类型就会导致数据错误。Datatable可以看成为一张储存数据的二维表,Datatable不符合面向对象编程思想。在分层合作开发时每一层的开发人员都必须了解数据库的结构。DataTable为弱类型,无法直观的看出字段的数据类型。最重要的是不符合面向对象编程思想。在开发过程中使用Datatable比实体开发速度快但软件的质量不易保证而且维护难度大不易功能扩展。