实战UML——给类图加点儿“三层料”

     最近米老师在强调对比法学习,那我就来个创新的。内部联系找完了,就去跟之前的知识相联系,我在想,那可不可以创新一下呢?时而展望一下未来好不好?

    一切的想法都是源于实际的生活的。就在实战UML类图的时候,我又冒出来点新点子。下面给大家看看我的类图改造过程,顺便讲讲这种创新方法。反正我感觉还挺有意思的。




    一、没加“料”前的类图



    

    上面这一张是我第一次画的类图,画完当时自我感觉抽象的特别好。机房收费系统中就是用户类,分为学生,老师,老师还会分为三个类。用户会操作窗体,窗体也算是一个类,窗体数据来自数据库,所以数据库也算是一个类。画完之后,正好慕夏师姐来了五楼,我就让她瞧了瞧。师姐说:嗯,没学三层什么的,而且VB实际是基于对象而不是面向对象的语言。画成这样不错了。

    在我准备画包图的时候,发现,没有这么多类让我“打包”,画时序图的时候更是找不到对象。在实践中我发现类图是基础,同时感到一定是我的类图有很大问题,想起那天师姐说的三层,我就百度了一下。彻底把之前这张类图Delete了,又改了一张新的。


    

    二、谈谈三层“料”


    既然三层是以后会学的东西,我就提前展望了一下“未来”。不管用的对或者不对,现在就假设“我是最大的!!”至少我提前知道了这个东西,当我以后正式学的时候,就会有种似曾相识的感觉。把不对的改过了就行了。


    1、名叫三层,实际七层。


    概念之类的东西在这里我就不赘述了(三层架构设计)。用面向对象的建模语言表达基于对象的程序设计语言的意思,还真费了一番心思。

    七层之中我现在只好理解三个,U层、B层、D层。理解这三个层,我自己想了一个生活中的例子,U层好比是超市,B层好比是加工场,D层好比是牧场。我们从牧场(D层)获得原材料牛奶(数据),在加工场(B层)进行加工处理,再拿到市面超市(U层)去买。这样一个流程我就理解了表示层,逻辑层,数据访问层。

   

    2、三层作用“解耦”→ 高内聚,低耦合(软工)


    当我看到解耦这两个字,我就想到了软工中学到的思想高内聚,低耦合。这样我就知道了,无论是三层架构设计还是软件工程,核心都是大同小异的。为了提高软件逻辑的复用性,耦合度是我们必须要考虑的东西。学过了软工,我就大概理解了三层的作用。


    3、三层+包图→U层,B层,D层关系


    因为目前我只了解了三个,所以包图不是7个包,等我学过了设计模式和面向对象的设计语言,再改进。


    三、加三层的类图


    由于窗体有限,为了能看清点儿字,我就截了“冰山”的一角。直接跟超市打交道的是买家,对应过来就是用户,U层也就是窗体类了,几个窗体几个类。加工步骤就是业务逻辑类,有多少个用例功能就有几个类。数据层就是有几个表就有几个类。按照这个思路,就出来了下面的类图。

    


    四、小结


    用面向对象的建模语言表达基于对象的程序设计语言,真的是想画的像样点儿都难啊。虽然加了点不是三层的三层,图还是错的,但是最起码我稍微的了解了一点我不知道的东西。应了这句“不怕不知道,就怕不知道。”在以后的实践中,这些所谓的不懂,都会有更多的理解的。

     说是“现在加未来”的创新对比方法,其实就是纯属个人的一点儿兴趣研究,请大神们指点,小的再次谢过啦。


评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值