zoukankan      html  css  js  c++  java
  • 软件设计要素初探:业务模式

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

    概述###

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

    模式清单###

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    Java通过JNI调用C/C++
    Using HTML5 audio and video
    vmstat输出项解释
    uva 11237
    NN优化方法对照:梯度下降、随机梯度下降和批量梯度下降
    认识与学习bash
    系统崩溃,大圣归来
    连载《一个程序员的生命周期》-25.到工业现场学习业务知识引发的思考
    ZOJ问题(2010浙江大学研究生复试上机题目[找规律] hdoj 3788)
    UIView的几个枚举定义
  • 原文地址:https://www.cnblogs.com/lovesqcc/p/9502516.html
Copyright © 2011-2022 走看看