深入.NET平台的软件系统分成开发(1/6)

第一章软件系统的分层开发

1.1 分成架构

分成模式定义:将解决方案中功能不同的模块分到不同的项目中实现。每一层中的主键应保持内聚性,每一层都应与他下面的各层保持松耦合。

分层模式是最常见的一种架构模式,甚至可以说分成模式是很多分层模式的基础。

数据访问层:处于最底层,负责与数据库交互,也成为DAL(Data Access Layer)。

表示层:直接与用户打交道,负责显示或者获取数据,也称为UI层(User Interface Layer)。无论用控制台还是用Windows窗体显示数据,都是表示层的一种应用。

表示层依赖于数据访问层,两层职能分开,协同工作,依赖关系如图1.4所示

1.2搭建分层架构

1.2.1  程序集

程序集定义:如运行MySchool程序,在bin\Debug目录下会生成一个MySchool.exe文件,双击者这个文件就可以打开这个MySchool应用程序。这个编译好的.exe文件就属于程序集。

.NET程序集是任何.NET Framework应用程序的基本构造。程序集由描述它的程序集清单(包含版本号,程序集名称等),类型元数据,MSIL代码和资源组成,将这部分都分布在一个文件夹中,或者几个文件夹中,如图1.5所示:

    • 可执行文件,即.exe文件。
    • 类库文件,即.dll文件。
    • 一个解决方案可以有一个或多个项目组成,这些项目可以是Windows应用程序,类库等。
    • 命名空间是组织C#程序的一种逻辑架构,一个命名空间可以有多个类。

1.2.2如何创建分层架构

(1)给项目添加类库。方法是右击解决方案,在弹出的快捷键菜单中选择“添加”>“新建项目”命令,弹出“添加新项目”对话框,给新建项取名为“MySchool.BAL”。

(2)添加表示层和数据访问层之间的依赖关系。表示层和数据访问层都建立完毕,但每一层都是各自独立的,他们之间没有任何依赖关系,两者之间必须有依赖关系才能作为一个整体使用,即建立起表示层与数据访问层的依赖表示层才能调用后者中的类。一下有两种方法可以形成依赖。

第一种方式是右击MySchool项目,在弹出的快捷键菜单中“添加引用”命令。

第二种方式是选择“浏览”命令,添加数据访问层生成.dll文件的引用。

1.3分层开发的优点和优势

  • 代码复用
  • 分离开发人员的关注
  • 无损替换
  • 降低了系统之间的依赖

1.4异常处理

1.4.1 为什么要异常处理

前面介绍了分层架构开发系统,但是系统各层之间故障还是难以避免的。如果应用程序对用户的操作进行检查,判断,病在故障发生是提示出错或进行相应的处理,就会尽可能的避免程序系统的崩溃,这就用到了异常处理。

在C#中程序运行是出错通过一种“异常”

的机制在程序中传播。“异常”是程序在执行时发生的错误,导致这种错误的原因来自三个方面。

  1. 代码错误:包括编译错误,只是开发人员造成的。
  2. 资源不可用:由于系统访问了未经授权的资源引起的错误。
  3. 公共语言运行库:由CLR内部引起的错误。

1.4.2 .NET异常处理机制

异常由Exception的派生类表示。ExcePtion类中封装的异常处理有两种情况。

  • 一种是由用户程序执行引发的异常,派生于ApplicationException类。
  • 由公共语言运行库引发的异常,派生于SystemException类。

常见异常类型

异常类常见的属性

异常处理语句

语法:
1.try-catch

try
{
        //可能引发异常的工作代码
}
catch(异常对象)
{
        //异常处理
}

2.try-finally
try
{
      //可能引发的异常的工作代码
}
finally
{
       //清理相关对象代码
}

3.try-catch-finally
try
{
        //可能引发异常的工作代码
}
catch(异常对象)
{
        //异常处理
}
finally
{
       //清理相关对象代码
}

多路异常捕获

try
{
        //可能引发异常的工作代码
}
catch(Exception ex)
{
       thow ex;
}
catch(SqlException ex)
{
       thow ex;
}
时间: 2024-10-24 17:55:40

深入.NET平台的软件系统分成开发(1/6)的相关文章

C#深入.NET平台的软件系统分层开发

今天我们来讲讲分层开发,你从标题能不能简单的认识一下什么是分层呢? 不懂也没关系,接下来我来给你讲讲. 第一章 软件系统的分层开发 (1)其实分层模式可以这样定义:将解决方案中功能不同的模块分到不同的项目中实现,每一层中的组件应保持内聚性,每一层都应该与它下面的各层保持松耦合.        分层模式是最常见的一种架构模式,甚至可以说分层模式是很多架构模式的基础.        数据访问层:           这一层处于最底层,负责与数据库的交互,也成为DAL(Data Access Laye

深入.NET平台的软件系统分层开发

第一章 软件系统的分层开发 案例 学生管理 建类库DAL 添加类 建窗体把数据绑定到datagrivel 因为不同一个项目下 所以要引用 数据访问层 Data Access Layer(DAL) using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threa

基于低压电量采集平台DW710C的基础开发

实验课题 (1)自定义通信规约,采用java或C++编写简单的PC端上位机软件,实现采集器与PC机的通信.实验可在DW710C-PC工程下进行. (2)实现LCD显示字符.数字.汉字和简单的图像,并能根据上位机发送的命令做相应的显示.此实验需要掌握LCD屏幕的显示原理(可参考LCD屏幕指导手册),并编写程序控制LCD显示(可参考工程DW710C-LCD):知道如何用字模提取软件提取字模:另外还要修改采集器端接收到的命令的解析程序,实现不同命令显示不同内容. 实验说明 采集器的一个485接口与RS

在Windows平台搭建C语言开发环境的多种方式

新接触C语言,如何进行C语言开发环境的搭建值得思考并整理 注:本文知识来源于  Windows 平台搭建C语言集成开发环境 - 极客学院 一.在Windows平台配置GNU环境 二.在Windows平台使用Sublime Test开发C语言程序 三.在Windows平台使用VisualStudio开发C语言程序 四.在Windows平台搭建EclipseCDT集成开发环境 五.在Windows平台搭建Clion集成开发环境 一.在Windows平台配置GNU环境 GNU http://www.g

平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由开放

Android是基于Linux内核[2]的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由开放手机联盟(英语:Open Handset Alliance)(Open... kb.cnblogs.com/zt/andr... - 百度快照 - 91%好评 知识库_博客园 http://bbs.sssc.cn/thread-4458080-1-1.htmlhttp://bbs.sssc.cn/thread-4458079-1-1.htmlhtt

转:基于ArcGIS10.0和Oracle10g的空间数据管理平台一(C#开发)

很久没有写技术博客了,记得最后一次在CSDN上写技术博客还是2010-08-09 00:31的时候了,那个时候还在学校,虽然大部分时间用于学习编程技术,但是还是有一点的时间和精力来写一些自己学到的东西.学到的编程基础知识在很多书籍和google都能很容易找到,所以自己写技术博客偏向技术实践,就是在特定的需求下完成一些技术性的编程工作.现在自己已经毕业4个月左右了,工作一直比较忙,业余时间也在不断的学习新知识.以后会陆续将自己学到的技术知识在具体实践过程中的心得和体会与大家分享.今天准备开始分享的

基于微软平台IIS/ASP.NET开发的大型网站有哪些呢?

首先说明一下,本文绝不是要说Microsoft平台多么好,多么牛.只是要提醒一些LAMP/JAVA平台下的同志们,微软平台不至于像你们说的,和想象的那么不堪!只是你们自己不知道而已.同时,也希望广大Microsoft同志们不要太妄自菲薄,有点信心!下面一一列举基于微软平台IIS/ASP.NET开发的大型网站有哪些:http://www.msn.com/ http://www.live.com/ (包括OneDrive.OneNote.Hotmail.Office365等等)http://www.

PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用基础

1.新浪微博开放平台(http://open.weibo.com/wiki/index.php/Quickstart)        开放的是什么:开放平台开放给开发者的是每一个用户的用户关系,开发者不在向传统应用那样面对单个开发者而是面对用户身后的整个好友圈.每一个API都是围绕好友与好友之间的交流来提供相关的功能,如发送微博,查看好友资料等等.        为什么要使用开放平台?开放平台可以加快应用的推广.每个用户可以影响到周围的好友,一旦应用真的优秀,用户可以方便的推荐给好友,好友又可以

用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发

快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs2013 + velt-0.1.4 1.1    什么是VELT VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visual studio的IDE中进行Linux应用程序