三层——WHY

    说到分层,无非是建类库、做接口、引用等等来提供交互,想必语言都差不多。然后设计模式就可以穿插作用在里面了。

    分层是种思想,确实界面层和数据层两层也能处理业务,那为什么我们要添加业务层呢?当然是为了提高效率!举个栗子,说说为啥分出个业务层就高效了呢?我们为什么要学习分层这种思想呢?
 
    附近开了一家台湾私房小吃。店小,可以直接看到厨师忙活,厨师可以直接把做好的餐点放到柜台上;取餐也有一点自助式,顾客可以自己到柜台取餐也可以由送餐员送到桌子上。前天跑去吃,点餐的时候恰巧听到老板对着一伙计(看起来是厨师)训话,意思是不能你看到客人点什么恰巧做的是这一样就递给他,这叫打乱账。这么样做让早来的客人等的久,是不是不公平?让前台接单员的怎么理账?等等
 
    看到这里,那么问题来了,如果厨师直接面向顾客会发生什么事呢?
        1、对于客人,早来的客人久等,客户体验不好;
        2、对于点单员,账单错乱,无法告诉送餐员不知道哪个送餐哪个不送餐;
        3、对于送餐员,送餐难度加大;
        4、对于整个餐厅,不能上传下达,往往尾大不掉,难以实现高效;
    ……
 
    那么我们用三层的思想分析一下这件事
    点单员属于界面层,直接受理顾客的需求;送餐员属于业务层,面对客户需求做出相应反应;厨师属于数据层,实现顾客的需求,但不应该同客户直接接触。
    该店厨师的行为,直接履行了业务层的义务,看起来减少了一个步骤似乎结果却并不高效(否则boss就不会训他了)。
 
    如何才能高效起来呢?我们再延伸开来
    如果订单类型是下图这三种呢?
 
    订单1,(小商家)客人少菜品少,分层可,不分层也能运营;
    订单2,(中型菜馆)专门单出一个业务层就可以更好的处理事务了;
    订单3,(美食广场)要求越来越简略,可是表示的内容更复杂了,不得不分层。
    可以推理如果业务越来越多元,势必业务层中也是需要分层的
 
    所有的程序都需要分层吗?NO!分层是要考虑量级的,运用奥卡姆剃刀原则【如非必要,勿增实体】。因此处理大型业务分层的思想也就变得十分有必要,这也是为啥学习分层这种技术。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值