用三层架构画类图的基本结构

类图是UML图里面最终要的一种图,它是UML的灵魂,也是整个系统的支撑,所以类图很重要。而要想要画好类图,就要学会给类图分出不同的组,分成不同的包。分组的规则就是跟三层架构的层是一一对应的。举个最简单的吧,也叫纯三层——就是UI、BLL、DAL这三层再加上一个Entity(实体)层。

UML图可以用Rose中画也可以拿EA画,这就看自己的使用习惯了。下图就是用EA建的一个分组,这是最简单的三层类图模型。


我们一个包一个包的说吧,先从最简单的说起,最简单最直观的就是UI层了。

UI层

UI层(User Interface)这个包里面放的都是用户界面对应的类。这些窗体类一般既没有方法也没有属性,它们只是通过事件(如单击事件等)来调用BLL层里面的方法。

Entity层

实体层里面的类跟数据库里面的表是一一对应的,即一张表一个实体类,实体类同样没有方法,但是它有自己的属性。它的属性就是表里面每一列的每个字段。

DAL层

DAL层(Data Access Layers):这一层里的类是用来跟数据库打交道的,所以它跟实体层一样,也是与数据库中的表是一一对应的。而它所具有的方法就是对数据简单的增删改查。

BLL层

BLL层(Business Logic Layer):这一层就是上面三个层之间的一个桥梁,负责它们之间的数据交换,通常情况只有方法没有属性,其方法就是窗体所具有的功能(一个功能可能包含一个或多个方法)。
PS:此篇博客所说的是用三层架构的套路对类图进行了一下分组,并不是讲的软件设计的三层架构,UML图我也只是刚刚接触没多长时间,有说的不对的地方还请各位大侠多多指正,在下感激不尽!


  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
在刚刚步入“多层结构”Web应用程序开发的时候,我阅读过几篇关于“asp.net三层结构开发”的文章。但其多半都是对PetShop3.0和Duwamish7的局部剖析或者是学习笔记。对“三层结构”通体分析的学术文章几乎没有。 2005年2月11日,Bincess BBS彬月论坛开始试运行。不久之后,我写了一篇题目为《浅谈“三层结构”原理与用意》的文章。旧版文章以彬月论坛程序中的部分代码举例,通过全局视角阐述了什么是“三层结构”的开发模式?为什么要这样做?怎样做?……而在这篇文章的新作中,配合这篇文章我写了7个程序实例(TraceLWord1~TraceLWord7留言板)以帮助读者理解“三层结构”应用程序。这些程序示例可以在随带的CodePackage目录中找到——   对于那些有丰富经验的Web应用程序开发人员,他们认为文章写的通俗易懂,很值得一读。可是对于asp.net初学者,特别是没有任何开发经验的人,文章阅读起来就感到非常困难,不知文章所云。甚至有些读者对“三层结构”的认识更模糊了……   关于“多层结构”开发模式,存在这样一种争议:一部分学者认为“多层结构”与“面向对象的程序设计思想”有着非常紧密的联系。而另外一部分学者却认为二者之间并无直接联系。写作这篇文章并不是要终结这种争议,其行文目的是希望读者能够明白:在使用asp.net进行Web应用程序开发时,实现“多层结构”开发模式的方法、原理及用意。要顺利的阅读这篇文章,希望读者能对“面向对象的程序设计思想”有一定深度的认识,最好能懂一些“设计模式”的知识。如果你并不了解前面这些,那么这篇文章可能并不适合你现在阅读。不过,无论这篇文章面对的读者是谁,我都会尽量将文章写好。我希望这篇文章能成为学习“三层结构”设计思想的经典文章!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘水镜

文章写得不错,我要让更多人看到

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值