三层架构——实体类
2013-04-20 14:52
288 查看
其实这篇文章接的是上一篇文章《三层架构初涉》。下面要说的是实体类。可能有人发现了,在敲登陆Demo的时候,需要把输入的控件内容(也就是数据)先填充到实体类,然后再通过数据访问层Update/Delete/Select/Add到数据库中去。这时我们会发现出现了叫实体类的东西。那么什么是实体类?我们为什么要用实体类?实体类属于三层中一层吗?还有,实体类在三层中的作用是什么?这都是我们下面要研究的问题。
究竟什么是实体类呢?
实体类——实体类其实是存放数据的,我们在数据库读取的数据就是存放在实体层里面的(是辅助数据库的映射,可以理解为传递数据的载体)。实体类主要是作为数据管理和业务逻辑处理层面上存在的类别;
它们主要在分析阶段区分实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。实体类对应数据库中一个表,实体类的每个属性对应表中相应的字段,使用实体类符合面向对象编程的思想,把一个表封装成一个类。因此我们发现在敲登陆的Demo时实体类——Model中我们存放的都是数据库表中对应的列的数据。
好了,明确了什么是实体类,下面开始第二个问题,那就是我们为什么要使用实体类?正如开篇我所说的,为什么要先把输入的内容(数据)填充到实体类中再通过数据访问层写到数据库中呢?为什么不用SQL语句直接将控件内容写到数据库中?这也就是我们为什么要使用实体类。
我们知道,之所以要用三层架构来设计程序,为的是让它们之间实现“高内聚、低耦合”,让层与层之间的关系职责明确、不混乱。而层与层之间是如何实现联系、沟通的呢?这就需要实体了,上面那张图就很好的说明了实体类是如何在三层之间实现沟通的。
那么具体实体类与三层之间是如何实现沟通的呢?下面我们就来一一说明
这是表示层(U层)是如何使用实体类的具体示意图。
这是业务逻辑层(B层)是如何使用实体类的具体示意图
这是数据访问层(D层)是如何使用实体类的具体示意图。
有了上面的认识之后,我们不禁会问实体类的作用是什么呢?有人这样形容实体类,说实体类就好比是血液,像参数那样,实现三层之间的相互沟通。实体类是现实实体在计算机中的表示。它贯穿于整个架构,负担着在各层次及模块间传递数据的职责。实体类为我们在关系数据库和对象之间架起了一座桥梁。对于实体类的认识,还要在具体的实践中才会认识的深刻、理解的深入,否则单凭我的一面之词是不能够使大家尤其是初学者领会到实体类的真正用途和好处的。下面是一张我对于实体类及三层之间联系认识的图,拿出来跟大家一起学习。
究竟什么是实体类呢?
实体类——实体类其实是存放数据的,我们在数据库读取的数据就是存放在实体层里面的(是辅助数据库的映射,可以理解为传递数据的载体)。实体类主要是作为数据管理和业务逻辑处理层面上存在的类别;
它们主要在分析阶段区分实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。实体类对应数据库中一个表,实体类的每个属性对应表中相应的字段,使用实体类符合面向对象编程的思想,把一个表封装成一个类。因此我们发现在敲登陆的Demo时实体类——Model中我们存放的都是数据库表中对应的列的数据。
好了,明确了什么是实体类,下面开始第二个问题,那就是我们为什么要使用实体类?正如开篇我所说的,为什么要先把输入的内容(数据)填充到实体类中再通过数据访问层写到数据库中呢?为什么不用SQL语句直接将控件内容写到数据库中?这也就是我们为什么要使用实体类。
我们知道,之所以要用三层架构来设计程序,为的是让它们之间实现“高内聚、低耦合”,让层与层之间的关系职责明确、不混乱。而层与层之间是如何实现联系、沟通的呢?这就需要实体了,上面那张图就很好的说明了实体类是如何在三层之间实现沟通的。
那么具体实体类与三层之间是如何实现沟通的呢?下面我们就来一一说明
这是表示层(U层)是如何使用实体类的具体示意图。
这是业务逻辑层(B层)是如何使用实体类的具体示意图
这是数据访问层(D层)是如何使用实体类的具体示意图。
有了上面的认识之后,我们不禁会问实体类的作用是什么呢?有人这样形容实体类,说实体类就好比是血液,像参数那样,实现三层之间的相互沟通。实体类是现实实体在计算机中的表示。它贯穿于整个架构,负担着在各层次及模块间传递数据的职责。实体类为我们在关系数据库和对象之间架起了一座桥梁。对于实体类的认识,还要在具体的实践中才会认识的深刻、理解的深入,否则单凭我的一面之词是不能够使大家尤其是初学者领会到实体类的真正用途和好处的。下面是一张我对于实体类及三层之间联系认识的图,拿出来跟大家一起学习。
相关文章推荐
- 三层架构中使用实体类填充泛型集合代替DataTable解决方案(ASP.NET+C#)
- 三层架构---实体类
- 三层架构中使用实体类填充泛型集合代替DataTable解决方案(ASP.NET+C#)
- 三层架构中使用实体类填充泛型集合代替DataTable解决方案(ASP.NET+C#)
- 三层架构中使用实体类填充泛型集合代替DataTable解决方案(ASP.NET+C#)
- 三层架构中使用实体类填充泛型集合代替DataTable解决方案(ASP.NET+C#)
- 解析三层架构(3)---三层架构中的实体类和面向对象
- 解析三层架构(3)---三层架构中的实体类和面向对象
- 解析三层架构(3)---三层架构中的实体类和面向对象
- 解析三层架构(3)---三层架构中的实体类和面向对象
- 三层架构中使用实体类填充泛型集合代替DataTable解决方案(ASP.NET+C#)
- 三层架构中使用实体类填充泛型集合代替DataTable解决方案(ASP.NET+C#)
- 三层架构中使用实体类填充泛型集合代替DataTable解决方案(ASP.NET+C#)
- 三层架构实例
- 三层网络架构实例基础
- 三层架构之简单用户登录
- VS2005 搭建三层架构
- 三层架构奇怪的问题
- 三层架构演示开源说明[附源码]
- 【转】asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别