系统设计
文章平均质量分 93
学习使用规范高效的设计
余 一
人类的悲欢并不相通
展开
-
【微服务】什么是SOA服务架构?
SOA SOA是Service Oriented Architecture的缩写,面向服务架构。Bezos(亚马逊CEO)将Amazon的软件架构完全转换为SOA,它是如此关键,从某种程度上改变了亚马逊 Amazon 的命运。 思想 SOA的精髓是严格的松散耦合,不允许直接访问其它服务的数据,大家按照一个契约或标准(service interface)来进行交流。 百科解释: 面向服务的体系结构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接转载 2021-02-20 10:32:31 · 1338 阅读 · 0 评论 -
【通用设计】分布式系统中接口的幂等性
阅读目录业务场景接口幂等性幂等性实现方式Token机制数据库去重表Redis实现状态机总结 业务场景 公司有个借贷的项目,具体业务类似于阿里的蚂蚁借呗,用户在平台上借款,然后规定一个到期时间,在该时间内用户需将借款还清并收取一定的手续费,如果规定时间逾期未还上,则会产生滞纳金。 用户发起借款因此会产生一笔借款订单,用户可通过支付宝或在系统中绑定银行卡到期自动扣款等方式进行还款。还款流程都走支付系统,因此用户还款是否逾期以及逾期天数、逾期费等都通过系统来计算。 但是在做订单系统的时候,遇到这样一个业务场景,转载 2020-07-23 22:26:02 · 391 阅读 · 1 评论 -
领域驱动设计系列文章3 —— 有选择性的使用领域驱动设计
领域驱动设计系列文章 通过现实例子显示领域驱动设计的威力 浅析VO、DTO、DO、PO的概念、区别和用处 有选择性的使用领域驱动设计 阅读目录前言影响选择的因素领域驱动设计的缺点选择使用领域驱动设计的导性原则 前言 本系列的第一篇博文抛砖引玉,大谈领域驱动设计的优势,这里笔者还是希望以客观的态度,谈谈领域驱动设计的缺点及其不适合使用的场景,以让读者可以有选择性的使用领域驱动设计。 影响选择的因素 我们知道,没有最好,只有最合适,设计也是一样。因此,所谓设计,就是以你和你的团队的知识、经验和智慧,全面充.转载 2020-05-28 16:36:27 · 538 阅读 · 0 评论 -
领域驱动设计系列文章2 —— 浅析VO、DTO、DO、PO的概念、区别和用处
阅读目录前言概念模型VO与DTO的区别VO与DTO的应用DTO与DO的区别DTO与DO的应用DO与PO的区别DO与PO的应用总结 前言 本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。 由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念。 概念 VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 DTO(Data Transfer Object):数据传输对象,转载 2020-05-28 16:35:05 · 393 阅读 · 0 评论 -
领域驱动设计系列文章1 —— 通过现实例子显示领域驱动设计的威力
阅读目录问题描述案例分析面向过程的设计方式(贫血模型)面向过程的领域驱动设计方式(充血模型) 问题描述 曾经参与过系统维护或是在现有系统中进行迭代开发的软件工程师们,你们是否有过这样的痛苦经历:当需要修改一个Bug的时候,面对一个类中成百上千行的代码,没有注释,千奇百怪的方法和变量名字,层层嵌套的方法调用,混乱不堪的结构,不要说准确找到Bug所在的位置,就是要清晰知道一段代码究竟是做了什么也非常困难,最终,改对了一个Bug,却多冒出N个新Bug; 同样的情况,当你拿到一份新的需求,需要在现有系统中添加功能的转载 2020-05-28 16:33:31 · 1164 阅读 · 0 评论