今天看了看三层架构的相关讲解,说一下自己现在对三层的认识吧:
用例图:
用例图可以从两个角度来考虑:
1、以参与者为中心。
2、以功能模块为中心。
一般情况下我们都会使用前者,但是老师说两个都画比较好(全面理解),但是我对于后者的理解是“迟早的事儿”,因为我们即使现在画用例图的时候使用的前者,但是当我们写需求分析的时候就必然要考虑功能模块了。
包图和类图:
包图即你所分的层,而对于类图就是你在每个包中所放的类,下面看看每个包中的类应从哪些方面考虑:
一、用户界面层(UI)
用户界面层即我们所说的窗体界面,而我们的每一个功能(用例)就会对应一个相应的界面,所以如果用例图出来了,那个这个UI层会很好画。
二、业务逻辑层(BLL)
业务逻辑层就是来处理界面层中的用例是具体如何实现的,它联系UI层比较紧密,所以我们按照用例来画业务逻辑的类比较好(减少了UI层调用BLL层的个数);当然也可以按照数据表来画。
三、数据访问层(DAL)
数据访问层就是一些对数据表的操作,即sql语句,但是为了以后的扩展需要,我们在这里又添加了一些接口类,以备数据库的更换。
四、实体层(Entity)
实体层即数据表的映射,相当于一个参数集合(也可看做自定义数据类型),供前面三层调用,其功能类似与String,Int等数据类型。
时序图:
时序图就是对用例图的具体描述,对应着代码的实现,所以我觉得在画时序图的时候最注重的应该是消息(方法)。
我的类图中的方法都是通过画时序图来添加的,在这里我认为这个消息一定要写的详细一些(比如参数和返回类型),在添加消息的时候你不仅要考虑到逻辑上的实现还要考虑到具体的代码实现。
我对这几个图的理解目前是这样,下面的工作就是修改类图和完善时序图,然后再着手代码……