ET介绍——强大的MongoBson库

强大的MongoBson库 后端开发,统计了一下大概有这些场景需要用到序列化: 对象通过序列化反序列化clone 服务端数据库存储数据,二进制 分布式服务端,多进程间的消息,二进制 后端日志,文本格式 服务端的各种配置文件,文本格式 C#序列化库有非常非常多了,protobuf,json等等。但是这 ...阅读全文

领域驱动设计DDD架构解析和绘图模板分享

DDD整洁架构 DDD整洁架构为了解决强调用的关系,出现了洋葱架构(六边形)架构,就是为了实现依赖倒置 它的思想就是把领域模型放到核心的位置,领域模型是独立的,不会直接强依赖其他层,而通过适配器来完成领域模型和外层的数据交换。 DDD分层架构和三层架构的区别与关系 DD分层架构和三层架构的区别与关系 ...阅读全文

策略模式(Strategy Pattern)

策略模式 一、介绍 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护 ...阅读全文

小程序安全架构分析

​随着数字时代的到来,数据不再是普通的符号和徽标,也不仅仅是普通的计算和统计工具。而安全问题也已经成为了一个非常重要的议题。今天就来探讨下小程序的安全架构,以了解小程序如何做到安全保障。 小程序的安全架构 先说说小程序自身的安全架构,小程序的安全架构由应用程序层、客户端层、服务层和数据存储层多个层次 ...阅读全文

java设计模式【工厂方法模式】

java设计模式【工厂方法模式】 工厂方法模式 工厂方法模式(FACTORY METHOD)是一种常用的类创建型设计模式,此模式的核心精神是封装类中变化的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽 ...阅读全文

Redis的三种持久化策略及选取建议

概述 Redis是一个基于内存的高性能的键值型数据库,它支持三种不同的持久化策略:RDB(快照)、AOF(追加文件)、混合。这三种策略各有优缺点,需要根据不同的场景和需求进行选择和配置。本文将介绍这三种策略 RDB(快照) 概述 RDB持久化策略是指在一定的时间间隔内,将Redis内存中的数据以二进 ...阅读全文

如何绘制漂亮的架构图,方法论+工具

架构图一词应用比较广泛,涉及到各个行业,从软硬件领域来对架构图分类就有如下几种 物理架构 描述整个信息系统需要使用到的软硬件设施,以及其部署位置及各个软硬件之间的关联关系。软硬件设施包括主机、服务器、交换机、路由器、防火墙、缓存服务器、注册中心、数据库等等。 如下两种架构图属于物理架构: 部署图 基 ...阅读全文

长文图解:详解金字塔原理如何应用于架构设计

0 文章概述 大家想一想工作中有没有遇到以下情况:一位同事用了很长时间罗列了很多事实和数据向你说明一件事情,但是你听完根本不知道他想要说什么。一位同事用了大量笔墨编写了技术方案,不仅有文字还有图表,但是你看完也不知道这个方案到底要解决什么问题以及如何落地。 上述情况的出现大概率是因为表述者没有使用结 ...阅读全文

一文揭秘DDD到底解决了什么问题

DDD作为架构设计思想帮助微服务控制规模复杂度,那它是怎么做到的呢? 一、架构设计是为了解决系统复杂度 谈到架构,相信每个技术人员都是耳熟能详,但如果深入探讨一下,“为何要做架构设计?”或者“架构设计目的是什么?”类似的问题,大部分人可能从来没有思考过,或者即使有思考,也没有太明确可信的答案。 1. ...阅读全文

分布式系统常见问题

一.概述 分布式系统存在网络,时钟,以及许多不可预测的故障。分布式事务,一致性与共识问题,迄今为止仍没有得到很好的解决方案。要想完美地解决分布式系统中的问题不太可能,但是实践中应对特定问题仍有许多可靠的解决方案。本文不会谈及诸如BASE, CAP, ACID 等空泛的理论,只基于实践中遇到的问题提出 ...阅读全文

详解缓存更新策略及如何选择

概述 缓存更新是指在数据发生变化时,保持缓存和数据库的数据一致性的问题。如果缓存和数据库的数据不一致,会导致用户看到过期或者错误的数据,影响业务逻辑和用户体验。 为了实现缓存更新,我们可以采用以下四种方式其中的一种: Cache Aside策略:应用程序直接与数据库和缓存交互,并负责维护缓存的一致性 ...阅读全文

Java设计模式简介(总结)

Java设计模式简介(总结) 什么是设计模式 Java设计模式是一组经过验证的解决特定问题的编程技术,这些技术可以帮助开发人员快速、有效地开发高质量的软件。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式分类 设计模式一般分为三大类:创建型、结构型、行为型,具体分类如 ...阅读全文

长文多图一步步讲清楚:DDD理论、建模与代码实现全流程

1 六个问题 1.1 为什么使用DDD DDD方法论核心是将问题不断分解,把大问题分解为小问题,大业务分解小领域,简而言之就是分而治之,各个击破。 分而治之是指直接面对大业务我们无从下手,需要按照一定方法进行分解,分解为高内聚的小领域,使得业务有边界清晰,而这些小领域是我们有能力处理的,这就是领域驱 ...阅读全文

结构型模式(Structural Pattern)

模式介绍 结构型模式(Structural Pattern)的主要目的就是将不同的类和对象组合在一起,形成更大或者更复杂的结构体。该模式并不是简单地将这些类或对象摆放在一起,而是要提供它们之间的关联方式。不同的结构型模式从不同的角度来组合类或对象,它们尽可能满足各种面向对象设计原则的同时为类或对象的 ...阅读全文

领域驱动设计之认知篇

学习DDD的意义 作为技术人,都有一个成为大牛的梦。 有些人可以通过自己掌握了比较底层、有深度、有难度的技术来证明自己的能力。 但对于绝大多数的应用研发工程师来说,其大部分的时间精力,会被消耗在读不懂、讲不清的屎山代码中,以及复杂多变的业务迭代中。很少会有需要去接触高深技术的机会,即便是接触了,也很 ...阅读全文

原型模式(Prototype Pattern)

模式动机 原型模式(Prototype Pattern)结构较为简单,它是一种特殊的创建型模式,当需要创建大量相同或者相似对象时,可以通过对一个已有对象的复制获取更多对象。Java语言提供了较为简单的原型模式解决方案,只需要创建一个原型对象,然后通过在类中定义的克隆方法复制自己。该模式应用较为广泛, ...阅读全文