业务层其实并不复杂,但是大部分开发人员对其职责并没有理解清楚,从而使其沦落为一个数据中转站。我之前分享过的Android项目重构之路系列中提到的核心层,其实就是这里所讲的业务层。但有不少读者反映,他们在实际项目中就只是做一下参数检查,然后直接调用API,与展示层对接的接口基本也与API的接口一致的。这样,业务层无疑就已经变为了一个数据中转站。
业务层的职责
所以,设计业务层之前,对业务层的职责要先真正理解清楚。这里,我举两个栗子说明一下。
第一个是新用户注册的例子。注册时,界面上一般都会要求用户输入手机号、验证码、密码和确认密码。但是,API接口一般只会有三个参数:手机号、验证码和密码,不会有确认密码。因此,调用接口之前,密码和确认密码的一致性检查是必须的。同时,也要检查这些数据是否为空、手机号是否符合规范、验证码是否有效、密码有没有包含了特殊字符等。正确姿势就是当所有检查都通过了之后,才调用API接口。最后,调用注册接口成功后,可能还要再调用一次登录接口,并可能将用户登录信息缓存起来,方便用户下次启动应用时自动登录。所有这些都属于业务逻辑处理,也就是业务层的工作。
第二个是涉及用户验证的例子。比如,在一个电商App,当用户浏览某个商品,点击购买时,App首先会判断用户是否已经登录,如未登录,则会跳转到登录页面让用户先登录。如果已经登录,但token已经过期,那需要先去获取新的token,之后才能进行下一步的购物操作。这些逻辑处理,也是业务层的工作。
因此,简单点说,业务层就是处理业务逻辑,包括数据的检查、业务分支的处理等。比如上面第二个例子,可能很多人就会将用户是否已经登录的判断直接在界面上做处理,当确认登录后,token也是有效的之后,才调用业务层做购买商品的操作,这就是导致业务层沦落为API的数据中转站的直接表现。
小编推荐阅读深度详解王者荣耀深渊王者段位要求(从细节到实战,解析深渊王者段位升级技巧攻略)
阅读《明日方舟》最强先锋干员推荐指南(打造最强先锋战队,从干员推荐到培养全解析)
阅读《魔兽世界》怀旧服技巧指南大全(挑战圣光的召唤任务,为部落联盟赢取荣誉)
阅读探寻江湖中的宝藏——寻找《烟雨江湖》西子君剑线索的攻略技巧最新(游戏中怎样获得西子君剑线索?)
阅读星露谷物语下水道屏障破解攻略技巧指南(助你轻松突破下水道难关,快速获得丰厚奖励)
阅读《燃烧意志路奇加点攻略技巧指南》(航海王游戏中路奇如何加点,最新推荐汇总)
阅读王者荣耀史诗皮肤卡意思一览大全(探索王者荣耀史诗皮肤的故事,了解背后的涵义)
阅读《重返深渊锁镰》武器攻略大全最新(每把武器攻略,助你通关游戏)
阅读《DNF》游戏牛郎星的光辉快速获得攻略技巧(跨越星际尽享荣耀)
阅读探秘梦幻模拟战手游雾风的技能属性攻略(雾风技能解析,让你成为游戏中的绝佳战士)
阅读怎样选择合适的门派成为《我的侠客》游戏高手?(掌握门派特点,选择最佳武功路线)
阅读