C#三层架构

一个好的框架,方便维护和管理。比如一个仓库,你东西全部堆一起。找都不好找,更别说维护了。

程序和仓库原理是一样的。

主要分三层:

UI:只与用户耦合数据【用户操作的界面】
BLL:只new出DAL对象, 对她进行调用方法【new class后,并且添加业务处理】
DAL:输入输出数据【class类型,只有最基础的功能,如通讯模块:{开,关,发,收}】

 UI:就是ui 画面 (比如公司老板)只有这层是窗体类型【只new出BLL的class】

BLL:业务 (4S店的接待员,企业的管理层)(类库)【只new 出DAL的class】

DAL:对象服务类(公司的电工,员工,修车师傅等)(类库)【class类,只有最基础的功能】

举个例子:你汽车保养,你就相当于ui,接待员就是BLL,修车师傅就是DAL

这个过程中,你的角色是老板下达命令,BLL是秘书提供的服务,DAL是被秘书调遣

ui你 new出BLL对象,调用BLL她的方法。
BLL内,new出DAL的对象,调用DAL对象的方法。并且带BLL的业务处理
DAL内 new出 Models数据类型,处理完后,把参数对象,返回给上级
Models数据类型,是全局变量。能被所有人使用。

ui和BLL都不知道 数据的来源(数据隔离)

Models的作用:当你调用方法时,会传递参数,参数1个2个还行,要是几十个参数就会有问题,不光参数顺序会写错,类型可能也会写错,还会漏写参数。每次调用方法都填写那么多参数,很不方便。所以Models就体现她的作用了。把所有参数封装成对象来传递。这样,参数栏里,只要写一个对象类型就行了。方法内部再详细写:读取该参数对象的值。(高内聚低耦合)这样就不会再错写漏写参数了。

当你理解 Models 的作用,就知道该怎么使用了。Models就像饭店的菜单一样。在UI和BLL跟DAL之间传递。

这样 Models 这个类 写在独立的命名空间下。UI,BLL,DAL都引用这个命名空间。就可以new出参数对象来传递。

ui内部

BLL  bll = new BLL();
Models  models = new Models();

//修改 models的值。。。。

//最后  
Models  结果 = bll.某个方法( models );

在BLL 内部也是如此 new 出DAL,再把 models的参数传给 dal.某个方法( models );

注意: ui 内不应该 出现 new DAL();

就像 老板不可能去指派员工今天干什么工作。只会指派管理层,管理层再指派员工今天做什么工作。(如果什么事都由老板去做,那么,哪天换老板了,那BLL和DAL的事都要重新再写一边,这个工作量是非常大的,而且,上层一改,中层和下层全部都要改,会代码地震。代码的房子大厦都震塌了,你还准备用残砖剩瓦拼个大厦出来?这样的房子你敢住?)

代码分层后,哪层需要修改,只需要替换那一层就行。其他层都不需要修改便于维护和管理。这就是项目分层带来的优势。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值