软件设计要素初探:业务模式
在 “软件设计要素初探” 一文,尝试从软件设计的整体角度,综合讨论了软件设计的各种要素。本文讨论业务应用中的常见套路:业务模式。
概述###
软件开发过程中,交织着对业务规则、业务流程的认识、理解、设计、实现。业务模式是对业务规则和流程的常见相似性、以及特定业务的数据处理能力的提炼,是业务应用系统中的常见套路。掌握这些套路,有助于更快更好地设计与实现业务。
模式清单###
-
参数检测模式:调用身份检测、权限校验、空检测、时间参数检测、业务约束检测、存量检测;
-
健壮服务调用模式: 健壮地调用服务接口。若调用成功,则抽取数据部分;若调用失败,适当地打印错误日志和返回错误信息;
-
多源数据组装模式: 从多个服务接口源获取数据后进行组装,进行下一步健壮服务调用。
-
数据解析与转换模式:从一个对象转换到另一个对象;在对象、Map、JSON之间互转;属性拷贝。
-
CRUD模式: 增删查改,经典的数据库访问模式。
-
接口正交模式:API接口是正交的无重叠的可灵活组合的,比如先搜索关键词列表再根据关键词列表获取详情,而不是在搜索接口中把详情数据一并返回。
-
幂等处理模式: 识别重复请求并进行相应处理(直接返回最近一次处理的结果、忽略、报错等)。涉及金额和数据一致性的地方尤其要细心。
-
事务处理模式: 多个数据存储操作作为一个原子性操作要么全部成功要么全部失败,不存在未完成的不完整的中间数据存储状态。
-
资源互斥同步模式: 多个线程同时写操作相同的资源时,进行资源互斥同步。
-
多任务模式: 将任务分解为多个子任务,启动多个线程或进程来执行子任务,然后汇总子任务的结果集得到最终的结果。
-
上下文模式: 对于长链路复杂请求处理,创建一个上下文对象,在该上下文对象里传递处理请求所需要的必要信息。最好仅将该对象作为函数或方法参数而非实例变量,避免引起不必要的并发问题。