第六章节 三层架构(二. 模型层与数据访问层)
一.模型层
1.由于三层之间存在数据交互,所以需要中间介质那就是“模型层”,模型层包括与数据库表相对应的实体类,“实体类就相当于数据库中的数据表,实体类里的属性就相当于数据库里数据表的字段”
2.模型层常见的命名方式有Model、Models、解决方案名+Model的格式。模型层就是单个C#类库项目
3.由于模型层中的实体类对象作为层之间数据通信的载体,常需要在不同的场景下执行类型转换,可以使用Serializable特性标识实体类为可序列化,以便转换实体类对象
二.数据访问层
1.数据访问层以DAL或解决方案名+DAL的格式命名 数据库中的每张表,在数据访问层都有相对应的数据访问类,例如数据库中的UserInfo表相对应的数据访问类为UserInfoService,主要是用于处理UserInfo表数据的增、删、改、查等操作。
2.数据访问类的方法
由于数据访问类提供的是针对数据表的增、删、改、查,所以类的方法围绕这些操作来编写。
数据访问类的方法最好是静态方法,这样可以直接使用“类名.方法”的方式进行调用,这样减少了频繁加载内存的次数。
(1.)增(Create),为UserInfo表添加一条用户信息的方法
//传递的参数最好是对象,这样就可以获取对象的所有属性,
//如果传递的是单个参数,那么根据需求,需要写很多方法重载才能达到目的
public static int Add(UserInfo userinfo)
(2.)删 (Delete),根据用户ID删除UserInfo表的一行信息
public static int Delete(UserInfo userinfo)
(3.)改(Update),根据用户ID更新UserInfo表的一行信息
public static int Update(UserInfo userinfo)
(4.)查(Select),根据用户ID查找UserInfo表的一行信息
public static DataTable Select(UserInfo userinfo)
第六章节 三层架构(二. 模型层与数据访问层)相关推荐
- 第六章节 三层架构(一. 三层架构的概述)
一. 三层架构的概述 1.在大中型ASP.NET站点的设计开发中,通常采用三层架构的设计,既表现层.业务逻辑层.数据访问层,各层特点简述如下: 层级 说明 表现层 (UI) 用于显示数据和接收用户输入 ...
- java三层架构(表示层,业务逻辑层,数据访问层,与两层的区别,三层架构的优缺点)
目录 1 什么是三层 2 为什么使用三层 3 与两层的区别 1 什么是三层 UI(表现层): 主要是指与用户交互的界面.用于接收用户输入的数据和显示处理后用户需要的数据. BLL:(业务逻辑层): U ...
- 视图层、业务逻辑层、数据访问层及实体层的关系(入门)
转载于:https://www.cnblogs.com/luogao/archive/2011/08/02/2125276.html
- ASP.NET Web程序设计 第六章 三层架构
一.三层架构的理解 1.三层架构:基于高内聚低耦合的软件架构原则,提高项目的可维护性.可扩展性. 2.分层: 1)数据访问层:实现与数据库(数据存储区)的数据交互. 2)业务逻辑层:实现业务规则及数据 ...
- 项目架构开发:数据访问层之Cache
数据访问层简单介绍 数据访问层,提供整个项目的数据访问与持久化功能.在分层系统中所有有关数据访问.检索.持久化的任务,最终都将在这一层完成. 来看一个比较经典的数据访问层结构图 大概可以看出如下信息 ...
- view是视图层+action是控制层+service是业务层+dao是数据访问层。
举例1:MVC 1)最上面的一层,是直接面向最终用户的"视图层"(View).它是提供给用户的操作界面,是程序的外壳. 2)最底下的一层,是核心的"数据层"(M ...
- 企业级应用架构(二)三层架构之数据访问层的封装与抽象
在上一篇我们知道,要解除BLL对DAL的依赖,我们就必须抽象出DAL层的接口,同时基于DAL的数据访问技术很多,如EF,ADO.NET,LINQ TO SQL,因此,我们的数据访问层必须对这些技术提供 ...
- 三层架构:表示层——业务逻辑层——数据访问层
三层架构:表示层--业务逻辑层--数据访问层 1.什么是三层架构 所谓的三层开发就是将系统的整个业务应用划分为表示层--业务逻辑层--数据访问层,这样有利于系统的开发.维护.部署和扩展. 分层是为了实 ...
- 三层架构:表示层-业务逻辑层-数据访问层
三层架构和MVC是两个东西. 非要相关的话: 三层架构中"表现层"的aspx页面对应MVC中的View(继承的类不一样) 三层架构中"表现层"的aspx.cs页 ...
最新文章
- Android ListView 点击item改变item的背景颜色(ListView实现光标移动)
- python接口自动化关联参数_python接口自动化7-参数关联
- linux signal 符号表6,gdb调试信息__000_linux-gnu_00000000_002_rw-p__169IT.COM
- ubuntu系统编译sh出错 默认dash不是bash
- 十八年开发经验分享(三)问题解决篇(中)
- SpringSecurity框架【详解】
- HTK语音识别示例(Ubuntu)
- python统计代码行数_使用Python简单快速实现统计代码行数
- jlinkV8驱动里面找不到gd32f130c8t6芯片怎么办?keil下载时候报错 dll错误,我刚才找到问题的原因了。就是jlink驱动版本太低,用6.88c就可以了 ,以下是我获得解答链接感谢
- select模型+epoll模型+reactor模型
- Win7如何显示文件扩展名
- 使用Chrome开发者工具精确定位网页元素位置
- 手机与存储卡空间大小剩余怎么获取
- 从TP-Link到雷蛇,纷纷入局智能手机业到底想干什么?
- hibernate中lazy的使用
- 活动排期php开源,PHP-php实现排期的高效算法
- 网页弹窗插件layer.js的使用
- SolidWorks 如何制作装配体
- 流形学习 manifold learning--自学小结(2)之 Isomap
- 2016年12月31日总结
热门文章
- java excel 导入导出_java中excel文件的导入和导出
- std string 编码_【星云测试】Wings企业级单元测试自动编码引擎白皮书
- 基于python的在线考试系统-基于Django的在线考试系统
- python网课推荐-python网课什么平台好
- python里怎么读取文件-python如何读取文件的数据
- python numpy安装步骤-NumPy 安装
- python小白从哪来开始-python 从小白开始 - 内置函数
- python编程入门-python编程入门(第3版)
- ajax传递timestamp,解决ajax请求自动增加时间戳问题
- vue-seamless-scroll