软件设计要素初探:业务模式

“软件设计要素初探” 一文,尝试从软件设计的整体角度,综合讨论了软件设计的各种要素。本文讨论业务应用中的常见套路:业务模式。

概述###

软件开发过程中,交织着对业务规则、业务流程的认识、理解、设计、实现。业务模式是对业务规则和流程的常见相似性、以及特定业务的数据处理能力的提炼,是业务应用系统中的常见套路。掌握这些套路,有助于更快更好地设计与实现业务。

模式清单###

  • 参数检测模式:调用身份检测、权限校验、空检测、时间参数检测、业务约束检测、存量检测;

  • 健壮服务调用模式: 健壮地调用服务接口。若调用成功,则抽取数据部分;若调用失败,适当地打印错误日志和返回错误信息;

  • 多源数据组装模式: 从多个服务接口源获取数据后进行组装,进行下一步健壮服务调用。

  • 数据解析与转换模式:从一个对象转换到另一个对象;在对象、Map、JSON之间互转;属性拷贝。

  • CRUD模式: 增删查改,经典的数据库访问模式。

  • 接口正交模式:API接口是正交的无重叠的可灵活组合的,比如先搜索关键词列表再根据关键词列表获取详情,而不是在搜索接口中把详情数据一并返回。

  • 幂等处理模式: 识别重复请求并进行相应处理(直接返回最近一次处理的结果、忽略、报错等)。涉及金额和数据一致性的地方尤其要细心。

  • 事务处理模式: 多个数据存储操作作为一个原子性操作要么全部成功要么全部失败,不存在未完成的不完整的中间数据存储状态。

  • 资源互斥同步模式: 多个线程同时写操作相同的资源时,进行资源互斥同步。

  • 多任务模式: 将任务分解为多个子任务,启动多个线程或进程来执行子任务,然后汇总子任务的结果集得到最终的结果。

  • 上下文模式: 对于长链路复杂请求处理,创建一个上下文对象,在该上下文对象里传递处理请求所需要的必要信息。最好仅将该对象作为函数或方法参数而非实例变量,避免引起不必要的并发问题。

posted @ 2018-08-19 20:38  琴水玉  阅读(682)  评论(0编辑  收藏  举报