初识七层架构

  经过半个月的熏陶,终于用七层架构实现了机房收费系统的登录功能,在此把学习中遇到的心得和大家分享下,希望能帮助到大家。

  

   这是当年师傅指导时画的机房收费系统七层架构图纸,看着别晕,我理解了半个月才刚有点头绪。      

   开始的时候,我们不能一下实现这么多层,那我们就从简单的入手。第一版只有三层:UI(界面层)、BLL(逻辑层)、DAL(数据访问层)、Entity(实体),实现了4个窗体后发现没什么难度了。第二版加上Factory(工厂层)、IDAL(接口层),腻歪了2天,终于实现。第三版加上了Facade(外观层),在今天下午终于大功告成。

   实现7层架构,首先要从IDAL层入手,然后DAL层分别实现IDAL层的各个方法,接着在Factory层实现创建接口的方法。BLL层根据Factory层返回的结果依次做出逻辑判断。为什么要在UI层和BLL层之间加上Facade层呢?

   就拿登录窗体说吧!一般小小的登录需要做4件事。1.判断用户是否已经在线;2.判断用户名和密码是否正确;3.登录成功后向教师工作记录表写入登录时间;4.登录成功后获得当前用户的权限。

   在BLL层我们要做的是对这4个过程返回值进行逻辑判断。如果没有Facade层,UI层一个小小的登录就要调用BLL层的4个方法,耦合度可想而知。如果我们在Facade层定义一个Login方法,把BLL层的4个过程进行整合,这样UI层只需调用Facade的一个Login方法就可以得到登录结果。

   这个过程好比一个文件下有好多文件,什么格式的都有,加上Facade层后,就相当于对混乱的文件进行分类,比如我可以新建子文件夹Word、Excel、Pdf、PPT。把对于格式的文件放到对应文件下,从而达到方便管理的意思。

   Entity层更是个好东西,原来一个注册窗体需要传好多参数,看着脑袋就大。实体呢,它像一个集装箱,把各种零零碎碎的实现给你打包,这样你传参数时一个实体就可以搞定。

   现在UI层、Facade层、BLL层、Factory层是根据系统功能分类,比如类名是frmLogin、LoginFacede、LoginManager、LoginFactory,而IDAL层、DAL层、Entity层根据数据表分类比如IUserInfo、UserInfoDAO、UserInfo。

   一个下午才理清了一个登陆,不知道这样分类是不是存在不合理的地方,希望大家给出宝贵意见。

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 45
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值