软件的设计原则

> 任何傻瓜都可以写出计算机能懂的代码,但好的程序员可以写出人类能懂的代码—–Martin Fowler 如果你是新手,你可能会问,为什么代码需要设计原则? 我想说的是肯定不是为了故作高深,存在即是合理。 如果写了一个简单的程序,...阅读全文

DDD中的分层架构

领域区域设计的分层架构模型其实是在不断优化和发展的,从最早的传统直肠子式的四层架构模型,逐渐演变成目前以依赖倒置为原则的新的四层架构模型,从而实现了各层对基础设施层的解耦。 DDD中的分层架构很好的应用了[关注点分离原则](http:/...阅读全文

如何快速画出一幅漂亮的架构图

这篇文章总结了常用的架构图类型,可以借鉴笔者提供的模板,快速地产出符合业务需要的架构图。 为什么要画好一幅架构图?一幅漂亮的架构图既是创作者的深度结构化思考和表达,对于读者来说也更加容易理解架构所要表达的意思。 然而不擅长画图的程序员,...阅读全文

设计模式(二)工厂方法

##一、前言 **工厂模式常见的词:简单工厂、工厂方法、抽象工厂。简单工厂不属于23种经典设计模式,但通常将它作为学习其他工厂模式的基础。** ##二、简单工厂 ###1、定义 **定义一个工厂类,它可以根据参数的不同返回不同类型的实例...阅读全文

一文了解DDD分层架构演进

1.3 分层架构演进 1.3.1 传统四层架构 将领域模型和业务逻辑分离出来,并减少对基础设施、用户界面甚至应用层逻辑的依赖,因为它们不属业务逻辑。将一个夏杂的系统分为不同的层,每层都应该具有良好的内聚性,并且只依赖于比其自身更低的层。...阅读全文

【设计模式之禅】单一职责

最近前辈推荐我读《设计模式之禅》这本书,原因是我写的代码质量实在是一言难尽,开发速度很快,但是bug数就很多了,设计原则这种知识就需要掌握 写这篇文主要是记录自己的学习以及督促自己 第一章【单一职责】 从我理解的层面来谈谈单一原则:明确...阅读全文

Java基础实现加油站圈存机系统

# 加油站圈存机系统 ​ 对于加油卡而言,圈存是将`用户账户`中已存入的资金划转到所持的加油卡上后方可使用。通俗一点的说法就是您在网点把钱存入主卡中,再分配到下面的副卡,由于副卡都在使用车辆的驾驶员手中,需要在加油的时候在加油站让加油站...阅读全文

秒杀库存解决方案

电商系统中秒杀是一种常见的业务场景需求,其中核心设计之一就是如何扣减库存。本篇主要分享一些常见库存扣减技术方案,库存扣减设计选择并非一味追求性能更佳,更多的应该考虑根据实际情况来进行架构取舍... ...阅读全文

使用MediatR实现CQRS

CQRS是Command Query Responsibility Segregation的缩写,一般称作命令查询职责分离。从字面意思理解,就是将命令(写入)和查询(读取)的责任划分到不同的模型中。 对比一下常用的 CRUD 模式(创建...阅读全文