`
webdev2014
  • 浏览: 679637 次
文章分类
社区版块
存档分类
最新评论

三层的初入认识

 
阅读更多

三层:将一个业务分为:表现层(UI),业务逻辑层(BLL),数据访问层(DAL).分层的目的是为了高内聚 低耦合的思想.

各层

表现层User Interface):通俗的讲就是展现给用户的界面,即用户在使用一个系统时的所见所得.

业务逻辑层(Business Logic Layer):对于具体的问题的操作,也可以理解层对数据层的操作,是对数据业务逻辑处理。

如果逻辑层相对完善,那么表现层如何修改也不会对逻辑层产生重大影响。

数据访问层Data Access Layer):直接对操作数据库,针对数据的增删改查。对数据库或者文本文件等存放数据的形式的操作也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。


区分方法

数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作。而不必管其他操作。

业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。

表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。

规则

⒈ 最关键的,UI层只能作为一个外壳,不能包含任何BizLogic的处理过程

⒉ 设计时应该从BLL出发,而不是UI出发.BLL层在API上应该实现所有BizLogic,以面向对象的方式

⒊ 不管数据层是一个简单的SqlHelper也好,还是带有Mapping过的Classes也好,应该在一定的抽象程度上做到系统无关


理解:

首先说下自己对三层的理解,就是使用三个(多个)项目结合起来开发出一个应用系统。下层项目为上层项目提供了接口(说白了就是可以从上层类访问下层类的方法),并且将结果返回到上层。即:上层包向下层包传递参数,上层包调用下层包的方法,下层包向上层包传回返回值。

UI层和BLL打交道,不用处理SQL语句;开发更方便,更不容易出错。一般,UI层中没有复杂的代码,解耦合,容易改变UI层技术。数据库的改变,如果由Sql Server改成Oracle,只需修改DAL即可,简单完成不同数据库之间的转换。

实体类在各层中的作用?

这里还要提醒的一点:Model是在三层之间传递数据的。而且Model不属于三层中任意一层。

那么各层之间使用Model(实体类的作用是什么呢??)

表示层中使用实体类:

将解析实体对象中封装的数据展示给用户

将用户请求的数据封装到实体对象中

业务逻辑层中使用实体类

将接收到的实体对象传递到下一层

根据用户请求对实体对象中的数据进行处理。

在数据访问层中使用实体类

将数据库中的数据封装到实体对象中或将多个实体对象封装成集合

将实体对象中的数据保存到数据库中


分享到:
评论

相关推荐

    C语言学习资料 电子书

    但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。 当代最优秀的程序设计语言  早期的C语言主要是用于UNIX系统。...

    软件体系结构综合资料库

    20世纪60年代末至20世纪70年代初,"软件危机"一词在计算机界广为流传。事实上,几乎从计算机诞生的那一天起,就出现了软件危机,只不过到了1968年在原西德加密施(Garmish)召开的国际软件工程会议上才被人们普遍...

    -初中化学知识点回顾(化学基本概念和原理).doc

    18的原子中,第一电子层(K层)排2个,第二电子层(L层)排8个电子,第三层(M层,也是最外层)排1�8个电子,8个电子为稳定结构。总结上述规律若以n代表电子层,排满后再排第二层,但最外层不超过8个电子,倒数第...

    电子书.txt

     C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之...

    C语言教程 TXT版本 喜欢的看看吧

    但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。 当代最优秀的程序设计语言  早期的C语言主要是用于UNIX系统。...

    Access2003中文版应用基础教程part2

    11-2-1 Access程序代码的初体验 11-2-2 把查询程序应用在文本框上 11-2-3 在模块对象中建立VBA程序 11-2-4 修改模块中程序代码的内容 11-2-5 使用窗体控件执行模块程序代码 11-2-6 将宏命令变成VBA代码 11-3 ...

    Access2003中文版应用基础教程part1

    11-2-1 Access程序代码的初体验 11-2-2 把查询程序应用在文本框上 11-2-3 在模块对象中建立VBA程序 11-2-4 修改模块中程序代码的内容 11-2-5 使用窗体控件执行模块程序代码 11-2-6 将宏命令变成VBA代码 11-3 ...

    初中化学知识点回顾(化学基本概念和原理).doc

    18的原子中,第一电子层(K层)排2个,第二电子层(L层)排8个电子,第三层(M层,也是最外层)排1�8个电子,8个电子为稳定结构。总结上述规律若以n代表电子层,排满后再排第二层,但最外层不超过8个电子,倒数第...

    股权结构与激励如何设计并执行?.doc

    在进行股权结构设计之前,应该清楚认识到股权结构不是简单的股权比例或投资比例,应该以股东股权比例为基础,通过对股东权利、股东会及董事会职权与表决程序等进行一系列调整后的股东权利结构体系。 一、股权比例、...

    Coursera-Ng-Deep-Learning-Specialization:笔记本快速搜索

    深度学习专业课程可以在找到测验和答案收集在我的博客1.神经网络与深度学习课程可以在找到可以在我的Github 找到有关此课程的幻灯片和更多详细信息第一周: 了解... 使用隐藏层构建您的第一个正向和反向传播将随机初

    PCB外观不良培训资料.pptx

    一、认识PCB 1、PCB简介 2、PCB的发展 3、PCB的材料与分类 2023/6/4 PCB外观不良培训资料全文共56页,当前为第2页。 1.1、PCB简介 PCB 即Printed Circuit Board的英文简写,其中文名称为印刷电路板,又称印制电路板...

    数据挖掘实习报告.docx

    接到这份工作之初,对数据清数据挖掘实习报告全文共32页,当前为第2页。数据挖掘实习报告全文共32页,当前为第2页。洗并没有太多的认识,以为很多都是按照《数据挖掘》教材中步骤进行就可以的。但经过项目经理指导...

    计算机硬件的合理配置教学设计(1).doc

    3) 学情分析 知识基础:学习者是我校初三年级的学生,通过本章内容的学习他们对计算机硬件 部分有了一定认识,并具有一定的网络学习能力。对计算机系统组成知识有非常浓厚兴 趣。他们思维活跃,能积极参实践活动。 ...

    计算机硬件的合理配置教学设计.doc

    3) 学情分析 知识基础:学习者是我校初三年级的学生,通过本章内容的学习他们对计算机硬件 部分有了一定认识,并具有一定的网络学习能力。对计算机系统组成知识有非常浓厚兴 趣。他们思维活跃,能积极参实践活动。 ...

    《计算机网络基础》教学设计.doc

    教学对象分析 本节内容的教学对象是初一年级的学生,通过以前的学习已经具备了一定的计算机操作 能力,学生也有一定的上网经验和网络知识。但是,学生对网络的了解大部分是停留在 网上聊天、BBS论坛、网络游戏以及...

    中职计算机课程核心素养的培养策略.docx

    二、中职计算机核心素养定义 (一)掌握必备的计算机知识 中职计算机的核心素养的第一层含义是掌握一定的计算机基础知识,比如认识计算机特点,学会使用操作PPT制作课件,学会上网注册和使用邮箱,能够独立自主完成...

    网页设计调研报告.pdf

    在企业初 创阶段,企业建站的目的是打造品牌网络形象,开拓客户资源,这时候的企业客 户更多的是关注自身的个性化,如何才能凸显企业的特质,如何才能在行业当中 显示其独有的特性,这是初建网站的企业客户所重点...

    计算机硬件的合理配置教学设计(2).doc

    1) 学情分析 知识基础:学习者是我校初三年级的学生,通过本章内容的学习他们对计算机硬件 部分有了一定认识,并具有一定的网络学习能力。对计算机系统组成知识有非常浓厚兴 趣。他们思维活跃,能积极参实践活动。 ...

Global site tag (gtag.js) - Google Analytics