理解分层真的花费了很长的时间,不过现在看来,对分层还是有了一些初步的理解,暂时贴出来见见光光,里面可能有很多不足到之处,希望大家能及时指出来,感激不尽,在此谢过了,小菜虫迫切需要您的指教。
一、首先说说为什么要分层?
背景:2011年,廊坊师范学院,信息技术作品展。
事件:我们七个同学一起合作用VB做了一个小程序名叫《宝宝乐园》,其中,有人做英语部分,有人做算术部分,有人做电子琴,有人做涂鸦,还有人做动画界面,还有人收集材料,总之,最后通过加载窗体的方式攒出来了一个程序。我们美名曰这个过程叫做团队合作开发~
初步学习了三层之后才晓得这只是把一个人的工作分给了多个人来干,团队合作效率非常差,而且程序运行非常不和谐,就好像一件上衣,两个人做袖子,一个人做领子,还有一个人做中间部分,最后缝到一起。当袖子出了问题,就得把线拆掉,然后重新做袖子,做袖子的人还要一段段的找袖子的哪部分出了问题,做好之后,还要继续缝到上衣中。至于最后上衣的样子就不用说了。而且程序部分都是各做各的,没有任何规范可言。
那么,我们初步认识一下三层: 如果把项目暂且分成三层,UI层、DAL层、BLL层,如下图的三者的联系:
1、表示层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
当然下图中也有一个Entity实体类,他在三层中并不是作为一层而存在的,而是作为一个类库,起到封装的作用,带着参数像血液一样流走与三层之间,谁需要就给谁,这是我的理解。
到底为什么要分层呢?因为分层具备的优点:
1、分工就明确多了,各人只需要关注自己的那一层,这样就可以根据工作人员各自的优势来分工,有助于提高效率。
2、代码就规范多了,各人根据UML图或者文档提供的资料,进行统一的规范。
3、层次清晰,利于维护。
4、高内聚,低耦合。
........
二、那么下面我贴出一个简单的登录系统的代码,通过三层和Vb.net实现
分享到:
相关推荐
下面是用vb.net实现的登陆,可以给大家做一些参考。
vb.net三层架构vb.net三层架构vb.net三层架构vb.net三层架构vb.net三层架构vb.net三层架构vb.net三层架构
VB.net三层架构使用三层结构开发数据库应用系统教程PPT,VisualStudio2008创建
vb.net的三层架构某型,用于刚刚接触vb.net做B/S开发的初学者,如果有过c#编程经验的人来说,那会很轻松
这个是入门级的三层实例,通过实现简单的登录,来达到对三层的初步认识。若有疑问,欢迎来我的博客(http://blog.csdn.net/wlccomeon/article/details/8796857)进行交流~
介绍各层之间的如何调用。给出了关键代码.适合于新手快速入门
vb.net做的三层架构的中间层
三层架构的详细描述,ppt版。 有需要的朋友进来下载。
vb.net做的三层架构的最底层
学习是一步一个台阶的,用面向过程的思想实现vb.net用户登录实际上很简单,但是高内聚、低耦合的原则给丢了,这个Demo主要实现了三层架构思想来实现用户登录。
运用vb.net语言,采用三层架构实现充值操作
此机房收费系统的实现使用了vb.net+sql server。采用MVC三层架构,及一些设计模式,其设计采用UMl标准……
【程序老媛出品,必属精品,亲测校正,质量保证】 资源名:vb.net三层建构Demo程序源码 资源类型:程序源代码 源码说明: vb.net真正的三层架构Demo,含MSSQL数据库文件 适合人群:新手及有一定经验的开发人员
使用.NET三层结构实现增删改查(简单) 代码很容易看懂! 很适合初学者!
ASP.NET三层架构的部署 ASP.NET可以使用.NET平台快速方便的部署三层架构。ASP.NET革命性的变化是在网页中也使用基于事件的处理,可以指定处理的后台代码文件,可以使用C#,VB,J#作为后台代码的语言。.NET中可以方便的...
三成架构,用VB.NET写的,共九个,教你一步步学习三成架构,
C# 三层架构生成器,适用与VS2005/2008/2010等。 功能简介: 一键自动生成三层架构的代码。 强大的全模板代码生成引擎,可根据模板生成各种语言代码。 自动生成整个项目和批量代码生成功能。 支持SQL Server、...
三层架构数据数据访问层撒旦发射点发撒旦发射点发撒旦法斯蒂芬撒旦撒旦法
这是个基于数据库构建三层结构代码的VB和VB.NET生成器。 如需要测试:请致电fan0217@tom.com,必回复。 其特点: 1、支持多数据库。生成的代码直接支持MSSQL、Access、Oracle以及MySQL数据库。方便数据转换,...
VB.NET+sql server 机房管理类的,适合课程设计