什么是封装?
概念估计都说不上来了。
只可意会不可言传?
好吧,下面3个常见案例,也许会让你加强对“封装”的理解。
1. 账户记账
支付系统经常会涉及到记账。记账的目的是管控可用额度,所以,像电商的优惠券、积分等产品,都会涉及到额度控制。
下面是一个简单的场景:
商户通过我们平台进行充值和付款下发。约定充值时收取服务费。商户充值后商户账户余额增加,平台服务费户余额增加。付款发起时冻结商户额度,付款成功则进行扣款。
下面两种方式服务交互的方式,涉及到账户接口的两种封装方式,你认为下面哪种更合适?
(设计稿:https://www.processon.com/view/link/611e38c2e0b34d3511f7c479)
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CN4YTO5UWO0QTM2czMmRzYyYzXwETOyATM2AzLcdDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
2. 系统登陆
管理系统登录是最常见的场景了。下面简化场景,用户输入登录口令,点击提交。此时,请求后台接口,做登陆认证和授权。
直接上图。
一个是暴露一个接口,一个是暴露两个接口。如果是你,你更喜欢哪个?
(设计稿:https://www.processon.com/view/link/611e4236e0b34d3511f7d9c2)
3. 数据表单提交
数据提交最基本的要求是要对数据做验重判断,当系统里不存在时才做持久化。
如下两种方式,如果是你提供接口,你的选择是?
(设计稿:https://www.processon.com/view/link/611e424b6376894fb728a045)