步步为营.三层架构解析.docVIP

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
步步为营.三层架构解析

在项目开发?的过程中,有时把整个?项目分为三?层架构,其中包括:表示层(UI)、业务逻辑层?(BLL)和数据访问?层(DAL)。三层的作用?分别如下: ? 表示层:为用户提供?交互操作界?面,这一点不论?是对于We?b还是Wi?nForm?都是如此,就是用户界?面操作。我们网站展?示给用户看?的界面。 ? 业务逻辑层?:负责关键业?务的处理和?数据的传递?。复杂的逻辑?判断和涉及?到数据库的?数据验证都?需要在此做?出处理。根据传入的?值返回用户?想得到的值?,或者处理相?关的逻辑。 ? 数据访问层?:见名知意,负责数据库?数据的访问?。主要为业务?逻辑层提供?数据,根据传入的?值来操作数?据库,增、删、改或者其它?。 ? 以下我简单?介绍下一个?用户管理模?块: ? 为了整个项?目的开发方?便,我们在项目?中会建几个?类库SQL?Helpe?r,BLL,DAL,Model?和一个We?b网站。为了命名清?晰,我们可以这?样命名这个?三个工程(即在解决方?案里添加的?类库): ? 业务逻辑层?(Busin?essLo?gicLa?yer):BLL,命名空间默?认设置为B?LL ? 数据访问层?(DataA?ccess?Layer?):DAL,命名空间默?认设置为D?AL ? SQL帮助?类:SQLHe?lper,命名空间默?认设置为S?QLHel?per ? 另外我们为?了数据传递?的方便,通常再添加?一个类库,这个类库是?贯穿于整个?三层架构中?的。即实体类。通常命名为?Model?,命名空间默?认值设置为?:Model?s。其中封装的?每个类都对?应一个实体?,通常就是数?据库中的一?个表。如数据库中?的用户表(custo?m)封装为(custo?m),将表中的每?个字段都封?装成共有的?属性。 ? 这样三层架?构的搭建就?基本完成了?。这三层有着?非常强的依?赖关系: ? 表示层 ← 业务逻辑层? ← 数据访问层? ? 他们之间的?数据传递是?双向的,并且通常借?助实体类传?递数据。 ? 那么三层架?构都有哪些?优点呢: ? 1、易于项目的?修改和维护?。在项目的开?发过程中或?者开发后的?升级过程中?,甚至在项目?的移植过程?中。这种三层架?构是非常方?便的。比如项目从?Web移植?到Form?,我们只需要?将表示层重?新做一遍就?可以了。其余两层不?用改动,只需添加到?现有项目就?可以了。如果不采用?这种架构,只是将代码?写到表示层?。那么所有的?编码几乎都?要重新来了?。 ? 2、易于扩展。在功能的扩?展上同样如?此,如有功能的?添加只需把?原有的类库?添加方法就?可了 ? 3、易于代码的?重用。这一点就不?用解释了。 ? 4、易于分工协?作开 还可以加个?接口类库I?inter?face, 加入设计模?式,使你的代码?灵活性更好?,质量更高。 下一步讲解?数据库的设?计。敬请拍砖。 要开发用户?管理系统,我们首先要?了解需求,现在就举一?个简单需求?,用户表,假设有两种?角色用一个?字段dep?artID?来判断,管理员和员?工, 我们要先建?一个用户表?custo?m和一个部?门表dep?artme?nt: CREAT?E TABLE? [dbo].[custo?m]( [id] [int] IDENT?ITY(1,1) NOT NULL, [cname?] [nvarc?har](50) COLLA?TE Chine?se_PR?C_CI_?AS NOT NULL, [depar?tID] [int] NOT NULL, [age] [int] NOT NULL, [ename?] [nvarc?har](50) COLLA?TE Chine?se_PR?C_CI_?AS NOT NULL, [passw?ord] [nvarc?har](50) COLLA?TE Chine?se_PR?C_CI_?AS NOT NULL, CONST?RAINT? [PK_cu?stom] PRIMA?RY KEY CLUST?ERED ( [id] ASC )WITH (PAD_I?NDEX = OFF, STATI?STICS?_NORE?COMPU?TE = OFF, IGNOR?E_DUP?_KEY = OFF, ALLOW?_ROW_?LOCKS? = ON, ALLOW?_PAGE?_LOCK?S = ON) ON [PRIMA?RY] ) ON [PRIMA?RY]; CREAT?E TABLE? [dbo].[depar?tment?]( [id] [int] IDENT?ITY(1,1) NOT NULL, [depar?tname?] [nvarc?har](50) CO

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档