- 1、本文档共62页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在项目开发的过程中,有时把整个项目分为三层架构,其中包括:表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。三层的作用分别如下:
? 表示层:为用户提供交互操作界面,这一点不论是对于Web还是WinForm都是如此,就是用户界面操作。我们网站展示给用户看的界面。
? 业务逻辑层:负责关键业务的处理和数据的传递。复杂的逻辑判断和涉及到数据库的数据验证都需要在此做出处理。根据传入的值返回用户想得到的值,或者处理相关的逻辑。
? 数据访问层:见名知意,负责数据库数据的访问。主要为业务逻辑层提供数据,根据传入的值来操作数据库,增、删、改或者其它。
? 以下我简单介绍下一个用户管理模块:
? 为了整个项目的开发方便,我们在项目中会建几个类库SQLHelper,BLL,DAL,Model和一个Web网站。为了命名清晰,我们可以这样命名这个三个工程(即在解决方案里添加的类库):
? 业务逻辑层(BusinessLogicLayer):BLL,命名空间默认设置为BLL
? 数据访问层(DataAccessLayer):DAL,命名空间默认设置为DAL
? SQL帮助类:SQLHelper,命名空间默认设置为SQLHelper
? 另外我们为了数据传递的方便,通常再添加一个类库,这个类库是贯穿于整个三层架构中的。即实体类。通常命名为Model,命名空间默认值设置为:Models。其中封装的每个类都对应一个实体,通常就是数据库中的一个表。如数据库中的用户表(custom)封装为(custom),将表中的每个字段都封装成共有的属性。
? 这样三层架构的搭建就基本完成了。这三层有着非常强的依赖关系:
? 表示层 ← 业务逻辑层 ← 数据访问层
? 他们之间的数据传递是双向的,并且通常借助实体类传递数据。
? 那么三层架构都有哪些优点呢:
? 1、易于项目的修改和维护。在项目的开发过程中或者开发后的升级过程中,甚至在项目的移植过程中。这种三层架构是非常方便的。比如项目从Web移植到Form,我们只需要将表示层重新做一遍就可以了。其余两层不用改动,只需添加到现有项目就可以了。如果不采用这种架构,只是将代码写到表示层。那么所有的编码几乎都要重新来了。
? 2、易于扩展。在功能的扩展上同样如此,如有功能的添加只需把原有的类库添加方法就可了
? 3、易于代码的重用。这一点就不用解释了。
? 4、易于分工协作开
还可以加个接口类库Iinterface, 加入设计模式,使你的代码灵活性更好,质量更高。
下一步讲解数据库的设计。敬请拍砖。
要开发用户管理系统,我们首先要了解需求,现在就举一个简单需求,用户表,假设有两种角色用一个字段departID来判断,管理员和员工,
我们要先建一个用户表custom和一个部门表department:
CREATE TABLE [dbo].[custom](
[id] [int] IDENTITY(1,1) NOT NULL,
[cname] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[departID] [int] NOT NULL,
[age] [int] NOT NULL,
[ename] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[password] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
CONSTRAINT [PK_custom] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY];
CREATE TABLE [dbo].[department](
[id] [int] IDENTITY(1,1) NOT NULL,
[departname] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[description] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
CONSTRAINT [PK_department] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE =
您可能关注的文档
- MSP430G553 系统时钟设置!.docx
- MS培养基母液配制、培养基制备及灭菌.docx
- mysql服务高可用性集群配置.docx
- N-JG-现行准规范、图集目录.doc
- oracle BS 表结构信息.docx
- Oracle 询表空间与表大小.doc
- PEP六年级英上册教案.doc
- PHOTOSHP6技巧集锦.doc
- photoshp基础教程(初学者使用).doc
- photoshp基础教程(如何认识PS).doc
- 创世纪资产剥离的实施效果及作用路径研究.pdf
- “恶意补足年龄”规则价值及其本土化适用研究.pdf
- 心理社会治疗模式介入养老机构新入住老人适应改善的个案研究.pdf
- 数字技术对农村公共文化服务可及性的影响研究.pdf
- 基于ADDIE模型的高中化学单元教学设计研究--以“硫及其化合物”为例.pdf
- 加拿大一枝黄花石油醚萃取物灭螺活性物质探究.pdf
- 成就动机对学术型硕士研究生科研产出的影响研究.pdf
- 基于SOLO分类理论的学习障碍调查研究--以平面向量为例.pdf
- 发展学生“证据推理与模型认知”素养的教学实践研究--以《物质结构与性质》为例.pdf
- 品牌如何获得好声誉?--基于制度合理性的行动主义策略.pdf
文档评论(0)