• 100%的人听说过封装,但是80%的人不会封装!


    什么是封装?
    概念估计都说不上来了。
    只可意会不可言传?

    好吧,下面3个常见案例,也许会让你加强对“封装”的理解。

    1. 账户记账

    支付系统经常会涉及到记账。记账的目的是管控可用额度,所以,像电商的优惠券、积分等产品,都会涉及到额度控制。
    下面是一个简单的场景:
    商户通过我们平台进行充值和付款下发。约定充值时收取服务费。商户充值后商户账户余额增加,平台服务费户余额增加。付款发起时冻结商户额度,付款成功则进行扣款。
    下面两种方式服务交互的方式,涉及到账户接口的两种封装方式,你认为下面哪种更合适?

    (设计稿:https://www.processon.com/view/link/611e38c2e0b34d3511f7c479)

    2. 系统登陆
    管理系统登录是最常见的场景了。下面简化场景,用户输入登录口令,点击提交。此时,请求后台接口,做登陆认证和授权。
    直接上图。
    一个是暴露一个接口,一个是暴露两个接口。如果是你,你更喜欢哪个?

    (设计稿:https://www.processon.com/view/link/611e4236e0b34d3511f7d9c2)

    3. 数据表单提交
    数据提交最基本的要求是要对数据做验重判断,当系统里不存在时才做持久化。
    如下两种方式,如果是你提供接口,你的选择是?

    (设计稿:https://www.processon.com/view/link/611e424b6376894fb728a045)

    以上,你对封装的理解是不是有了更深入的理解?也许你觉得,这些太简单了,肯定知道这些场景的接口怎么封装。你和你所在的团队是幸运的。我表示抱歉,阅读此文浪费了你的宝贵时间。
    不过事实也许并非如此。至少,在我们的团队里,类似不良的程序实现还是存在的。当业务发生高频操作时,这些都是隐患。日常开发,还是要关注一下程序设计,多考虑更好的实现方式,磨刀不误砍柴工。

  • 相关阅读:
    Android 交错 GridView
    Android 从 Android 本地图库选择多个图片
    Android 布局管理器
    Android 高级 Jackson Marshalling(serialize)/Unmarshalling(deserialize)
    Android 基本 Jackson Marshalling(serialize)/Unmarshalling(deserialize)
    Android Jackson 概述
    Andorid 翻书效果
    Android 原生 Android ActionBar Tab (滑动)导航
    Android 原生 Android ActionBar
    Android 关于操作栏 ActionBar 的设计原则【转载+整理】
  • 原文地址:https://www.cnblogs.com/buguge/p/15163557.html
Copyright © 2020-2023  润新知