博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NET完全手动搭建三层B/S架构
阅读量:5280 次
发布时间:2019-06-14

本文共 1856 字,大约阅读时间需要 6 分钟。

简介:三层架构(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的框架了。至于具体实现的细节这里就不讨论了,改天空了再说。

原文链接:

转载于:https://www.cnblogs.com/rainbow70626/p/5136505.html

你可能感兴趣的文章
Leetcode-Letter Combinations of a Phone Number
查看>>
IntelliJ Idea 2017 免费激活方法
查看>>
IOS8 App开发快速入门视频教程与案例分享 20课 附讲义
查看>>
40、mysql的历史简介
查看>>
【java】为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
查看>>
boost相关函数
查看>>
iOS 设置导航栏之二(设置导航栏的颜色、文字的颜色、左边按钮的文字及颜色)...
查看>>
Java Bean 使用包装类型 还是基本类型
查看>>
常见同花顺面试题实例总结
查看>>
JQuery Offset实验与应用(转载)
查看>>
C# 移动开发 MasterDetailPage 侧滑
查看>>
理解RESTful架构[转]
查看>>
递归:斐波那契数列与汉诺塔
查看>>
前端-细节处理笔记
查看>>
第十六章 多态性(一)
查看>>
INSERT IGNORE INTO / REPLACE INTO
查看>>
Python数据类型-布尔/数字/字符串/列表/元组/字典/集合
查看>>
MFC中theApp
查看>>
类的无参方法
查看>>
Python 开发:初识Python(记笔记)
查看>>