刷新
使用MediatR实现CQRS

博主头像 CQRS是Command Query Responsibility Segregation的缩写,一般称作命令查询职责分离。从字面意思理解,就是将命令(写入)和查询(读取)的责任划分到不同的模型中。 对比一下常用的 CRUD 模式(创建-读取-更新-删除),通常我们会让用户界面与负责所有四种操作的数... ...

产品代码都给你看了,可别再说不会DDD(一):DDD入门

博主头像 这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以下文章: DDD入门( ...

商品推荐系统浅析

博主头像 本文主要做推荐系统浅析,主要介绍推荐系统的定义,推荐系统的基础框架,简单介绍设计推荐的相关方法以及架构。适用于部分对推荐系统感兴趣的同学以及有相关基础的同学,本人水平有限,欢迎大家指正。 ...

Hybrid App 技术路径带动性能的提升

博主头像 说到 Hybrid App(混合应用)大家都不陌生,因为这种开发模式大行其道发展的这些年取代了很多原生和 Web 应用,为什么大家对这种「Native + HTML5」的开发模式额外偏爱呢? 因为一方面在一定程度上兼顾了原生应用的优质体验,另一方面又兼顾到了 HTML5 灵活的开发模式。 这种模式的 ...

二代水务系统架构设计分享——DDD+个性化

博主头像 系统要求 C/S架构的单体桌面应用,可以满足客户个性化需求,易于升级和维护。相比于一代Winform,界面要求美观,控件丰富可定制。 解决方案 依托.Net6开发平台,采用模块化思想设计(即分而治之的策略),每个模块采用DDD分层设计。前端选用WPF + Prism框架,后端选用ABP + EF框架 ...

深入理解并发编程艺术之内存模型

博主头像 随着硬件技术的飞速发展,多核处理器已经成为计算设备的标配,这使得开发人员需要掌握并发编程的知识和技巧,以充分发挥多核处理器的潜力。然而并发编程并非易事,它涉及到许多复杂的概念和原理。为了更好地理解并发编程的内在机制,需要深入研究内存模型及其在并发编程中的应用。本文将主要以 Java 内存模型来探讨并 ...

面向对象设计原则总结:SOLID/LKP/DRY/KISS…

博主头像 ## 目录 - 封装变化 - 针对接口编程,不针对实现编程 - 多用组合(has-a),少用继承(is-a) - 为交互对象之间的松耦合设计而努力 - 最少知识原则 LKP / 迪米特法则 Law of Demeter - 好莱坞原则 - SOLID 原则 - 单一职责原则 SRP - 开放关闭原则 ...

突破传统监测模式:业务状态监控HM的新思路

博主头像 在系统架构设计中非常重要的一环是要做数据监控和数据最终一致性,关于一致性的补偿,已经由算法部的大佬总结过就不再赘述。这里主要讲如何去补偿?补偿的方案哪些?这就引出来数据监控系统了。有小伙伴会问了,为什么业务状态监控系统可以做补偿?别急,往下看。 ...

消息队列二十年

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

JavaWeb和MVC三层架构

博主头像 # JavaWeb 概述 **网站发布和部署一定要依托技术语言吗:** 不一定,一个网站可以直接发布和部署,因为因为浏览器能够识别网页只需要两样东西,网络和静态页面,还有一个装在他们的容器,比如 nginx。 **静态页面面临的问题:** - 1:静态网页是固定的,是不可变的。如果一个网站比如腾讯首 ...

随机高并发查询结果一致性设计实践

博主头像 一、前言 物流合约中心是京东物流合同管理的唯一入口。为商家提供合同的创建,盖章等能力,为不同业务条线提供合同的定制,归档,查询等功能。由于各个业务条线众多,为各个业务条线提供高可用查询能力是物流合约中心重中之重。同时计费系统在每个物流单结算时,都需要查询合约中心,确保商家签署的合同内容来保证计费的准 ...

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

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

<1···323334···50>