简介:三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(WebUI)、业务逻辑层(BusinessLogicLayer)、数据访问层(DataAccessLayer),公共层(ModelLayer)。区分层次的目的即为了“高内聚,低耦合”的思想。

一、应用三层架构的优点

三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增;各做各的模块,降低开发人员能力要求;方便系统功能的扩展以及后期的维护工作;最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。

二、手动搭建三层架构

   软件 VS 2008

(当然可以用动软.Net代码生成器等自动生成三层架构)

1.建立空白的解决方案

   法1) 文件/新建/项目弹出对话框 选择“其他项目类型”下面的“Visual Studio 解决方案”  单击“空白解决方案” 名称:ling  位置:D/ 确定 完成空白方案搭建

法2) Shift+Ctrl+N 弹出对话框 选择“其他项目类型”下面的“Visual Studio 解决方案”

2.建立三个类库

1) 在解决方案资源管理器中,右击“解决方案ling”选择“ 添加”下面的“新建项目”

2) 在弹出对话框中选择“Visual C#”里面的“类库”

名称:ModelLayer(简写Model)  公共层 位置:D:/ling “确定” 完成一个类库的添加

用相同的方法建立以下两个类库:

名称:DataAccessLayer(简写DAL) 数据访问层    位置:D:/ling

名称:BusinessLogicLayer(简写BLL) 业务逻辑层 位置:D:/ling

3.建立表现层

在解决方案资源管理器中,右击“解决方案ling”选择“ 添加”下面的“新建网站”

在弹出对话框中选择“Asp.NET 网站” 位置:文件系统, D/ling/WebUI

语言:Visual C#(这里值得注意网站的路径为:D/ling/WebUI)

“确定” 完成表现层的搭建

这样我们就完成了基本结构的搭建

4.添加各层之间的引用

4.1 数据访问层(DataAccessLayer)对公共层(ModelLayer)引用

1) 在解决方案资源管理器中,右击“DataAccessLayer”选择“ 添加应用”

2) 弹出“添加引用”对话框,单击“项目” 选择“ModelLayer”

单击“确定” 完成对公共层的引用

4.2 业务逻辑层(BusinessLogicLayer)对DataAccessLayer和ModelLayer引用

1) 在解决方案资源管理器中,右击“BusinessLogicLayer”选择“ 添加应用”

2) 弹出“添加引用”对话框,单击“项目” 选择“DataAccessLayer、ModelLayer”

单击“确定” 完成对DataAccessLayer和ModelLayer引用

4.3 表现层(WebUI)对BusinessLogicLayer、DataAccessLayer、ModelLayer引用

1) 在解决方案资源管理器中,右击“D/ling/WebUI/”选择“ 添加应用”

2) 弹出“添加引用”对话框,单击“项目”选择“DataAccessLayer、ModelLayer、BusinessLogicLayer”

单击“确定” 完成对DataAccessLayer、ModelLayer、BusinessLogicLayer引用

这样我们的项目是不能运行的,不信自己试试。

5.设置起始项目以及起始页

1) 在解决方案资源管理器中,右击“D/ling/WebUI/”单击“ 设为启动项目(A)”

2) 在解决方案资源管理器中,单击“D/ling/WebUI/”里面的“Default.aspx”(默认的,可改名)右击“ 设为启始页(P)”

3) 在解决方案资源管理器中,右击“解决方案ling”单击“重新生成解决方案(R)”

OK了,这样就完成了一个三层B/S的框架了。至于具体实现的细节这里就不讨论了,改天空了再说。

原文链接:.NET完全手动搭建三层B/S架构

.NET完全手动搭建三层B/S架构的更多相关文章

  1. 关于ASP.NET或VS2005 搭建三层架构的理解

    最近想学习ASP.NET建网站,关于ASP.NET或VS2005 搭建三层架构的理解,网上摘录了一些资料,对于第(2)点的讲解让我理解印象深刻,如下: (1)为何使用N层架构? 因为每一层都可以在仅仅 ...

  2. CS通用项目系统搭建——三层架构第一天

    CS通用项目:使用三层架构进行搭建 三层架构: 表现层(UI(User Interface)):展示给用户的层面,包含窗体控件数据等信息. 业务逻辑层(BLL(Business Logic Layer ...

  3. 【从零开始搭建自己的.NET Core Api框架】(二)搭建项目的整体架构

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  4. OceanBase数据库实践入门——手动搭建OceanBase集群

    前言 目前有关OceanBase功能.案例.故事的文章已经很多,对OceanBase感兴趣的朋友都想安装一个数据库试试.本文就是分享初学者如何手动搭建一个OceanBase集群.这也是学习理解Ocea ...

  5. SSM框架手动搭建

    SSM框架手动搭建 创建web项目 IDEA创建Maven项目 [File]-->[new]-->[project..] 将项目变为web项目 [File]-->[Project S ...

  6. WindowsServer2012 R2 64位中文标准版(IIS8.5)下手动搭建PHP环境详细图文教程(二)安装IIS8.5

    //来源:http://www.imaoye.com/Technology/WindowsServer2012R264IIS85.html 阿里云服务器ECS Windows Server 2012 ...

  7. Linux手动搭建LAMP环境

    当你看到标题里的“手动搭建”,你是不是会想,难不成还有“自动搭建”?当然......不是,这里的“手动搭建”是指按部就班的搭建Apache.MySQL.PHP环境,是相对于集成软件包而言的.所以你是不 ...

  8. php 手动搭建环境

    php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 htt ...

  9. 混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)

    1.ionic简介 为什么选用ionic: 彻底开源且免费 性能优异 基于红的发紫的AngularJs 漂亮的UI 强大的命令行(基于更热门的nodejs) 开发团队非常活跃 ngCordova,将主 ...

随机推荐

  1. mybatis必知必会二

    关联: 嵌套查询:通过执行另外一个 SQL 映射语句来返回预期的复杂类型. 嵌套结果:使用嵌套结果映射来处理重复的联合结果的子集.首先,然让我们来查看这个元素的属性.所有的你都会看到,它和普通的只由 ...

  2. groovy实现循环、交换变量、多赋值、?.运算符

    /** * Created by Jxy on 2019/1/3 10:01 * 1.实现循环的方式 * 2.安全导航操作符---?. * 3.一次性赋值给多个变量 */ 0.upto(2){ pri ...

  3. MySQL,Oracle,PostgreSQL,mongoDB 通过web方式管理维护, 提高开发及运维效率

    在开发及项目运维中,对数据库的操作大家目前都是使用客户端工具进行操作,例如MySQL的客户端工具navicat,Oracle的客户端工具 PL/SQL Developer, MSSQL的客户端工具查询 ...

  4. High Performance MySQL笔记:count

    在SQL中使用count()好像是非常自然的事情: SELECT COUNT(*) FROM TABLE_NAME; 有时候确实会想过,count(*)和单独的count(column_name)有什 ...

  5. Aizu2292 Common Palindromes

    题意 我也不知道哪里来的OJ \(vjudge\) 上的 给定两个字符串 \(S,T\) ,询问 \((i,j,k,l)\) 这样的四元组个数 使得 \(S[i,j],T[k,l]\) 是相等的回文串 ...

  6. LeetCode赛题393----UTF-8 Validation

    393. UTF-8 Validation A character in UTF8 can be from 1 to 4 bytes long, subjected to the following ...

  7. 工具Sequel Pro简介

    从图中可以看到,sequel工作界面主要分成三部分,左边侧边显示的是当前所连接的数据库中存在的数据表,右侧上半部分则是用于写sql的地方,在Mac环境下按command+R键会执行你所写的sql,右侧 ...

  8. OllyDbg的基本使用

    注:内容整理自<逆向工程核心原理>,结合我的OllyDbg版本修改了一些内容 1. OllyDbg常用命令及其快捷键 指令 快捷键 含义 Restart Ctrl+F2 重新开始调试 St ...

  9. 线性表的Java实现--链式存储(双向链表)

    有了单向链表的基础,双向链表的实现就容易多了. 双向链表的一般情况: 增加节点: 删除节点: 双向链表的Java实现: package com.liuhao.algorithm;      publi ...

  10. 基于Vue的WebApp项目开发(五)

    实现图片分享列表 步骤一:新增图片列表文件photolist.vue <template> <div id="tml"> 图片分享页面 </div&g ...