设计原则总结

## 目录 - 封装变化 - 针对接口编程,不针对实现编程 - 多用组合(has-a),少用继承(is-a) - 为交互对象之间的松耦合设计而努力 - 最少知识原则 LKP / 迪米特法则 Law of Demeter - 好莱坞原则 ...阅读全文

消息队列二十年

2020 年我有幸加入腾讯 tdmq 初创团队,当时 tdmq 还正在上云公测阶段,我第一次从一个使用工具的人转变成了开发工具的人, 这个过程使我沉淀了很多消息队列知识与设计艺术。 后来在业务中台的实践中,也频繁地使用到了 MQ,比如最...阅读全文

JavaWeb和MVC三层架构

# JavaWeb 概述 **网站发布和部署一定要依托技术语言吗:** 不一定,一个网站可以直接发布和部署,因为因为浏览器能够识别网页只需要两样东西,网络和静态页面,还有一个装在他们的容器,比如 nginx。 **静态页面面临的问题:*...阅读全文

[WIP]业务中台如何实现业务的结果通知

绞尽脑汁生产中... 如下RPC通信场景:业务线向交易中台发起交易。当交易完成后,zhongtai-trans要将交易结果通知给业务线。 那么,在程序实现上,zhongtai-trans如何通知业务线呢? 这个问题暂且不表。我们先来看跨...阅读全文

设计模式原则之:单一职责模式

对类来说的,即一个类应该只负责一项职责。如类A负责两个不同的职责,职责1,职责2。当职责1需求变更而改变A时,可能造成职责2智行错误,所以要将类A的粒度分解为A1,A2 错误的应用实例 package org.example.demo0...阅读全文

系统设计蓝图指南

系统设计蓝图指南 我们有时敏捷软件开发过程,系统设计采用一张纸,如下图供参考图例DNS接上面, APP或用户 请求与响应,分页,过期头,Gzip,幂等性设计负载均衡,API网关,访问日志,CDN,服务伸缩,通用扇出服务《系统设计蓝图指南...阅读全文

领域建模之数据模型设计方法论

本文通过实际业务需求场景建模案例,为读者提供一种业务模型向数据模型设计的方法论,用于指导实际开发中如何进行业务模型向数据模型转化抽象,并对设计的数据模型可用性、扩展性提供了建议性思考 ...阅读全文

Jenkins-Pipline实现原理

# Jenkins-Pipline原理 > 本文仅探讨jenkins pipline 的原理,是流水线的一个demo版本实现,不能代表Jenkins pipline的具体实现,仅供参考。 ## 1. Jenkins流水线介绍 Je...阅读全文

高可用三大利器 — 熔断、限流和降级

在武侠世界里,“利器”通常指的是武器中的上乘、出色之物;武器对于武者的重要性不言而喻,拥有一把优秀的武器可以让武者在战斗中更加得心应手,威力更强。在分布式系统追求高可用的背景下,熔断、限流和降级这三个重要的策略可以称得上三大利器。降级和...阅读全文