策略模式 一、介绍 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护 ...
随着数字时代的到来,数据不再是普通的符号和徽标,也不仅仅是普通的计算和统计工具。而安全问题也已经成为了一个非常重要的议题。今天就来探讨下小程序的安全架构,以了解小程序如何做到安全保障。 小程序的安全架构 先说说小程序自身的安全架构,小程序的安全架构由应用程序层、客户端层、服务层和数据存储层多个层次 ...
java设计模式【工厂方法模式】 工厂方法模式 工厂方法模式(FACTORY METHOD)是一种常用的类创建型设计模式,此模式的核心精神是封装类中变化的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽 ...
Redis三种不同的持久化策略:RDB(快照)、AOF(追加文件)、混合。这三种策略各有优缺点,需要根据不同的场景和需求进行选择和配置。本文将介绍这三种策略、选取建议及常见问题的解决方案 ...
在探究 Kafka 核心知识之前,我们先思考一个问题:什么场景会促使我们使用 Kafka? 说到这里,我们头脑中或多或少会蹦出异步解耦和削峰填谷等字样,是的,这就是 Kafka 最重要的落地场景。 ...
架构图一词应用比较广泛,涉及到各个行业,从软硬件领域来对架构图分类就有如下几种 物理架构 描述整个信息系统需要使用到的软硬件设施,以及其部署位置及各个软硬件之间的关联关系。软硬件设施包括主机、服务器、交换机、路由器、防火墙、缓存服务器、注册中心、数据库等等。 如下两种架构图属于物理架构: 部署图 基 ...
0 文章概述 大家想一想工作中有没有遇到以下情况:一位同事用了很长时间罗列了很多事实和数据向你说明一件事情,但是你听完根本不知道他想要说什么。一位同事用了大量笔墨编写了技术方案,不仅有文字还有图表,但是你看完也不知道这个方案到底要解决什么问题以及如何落地。 上述情况的出现大概率是因为表述者没有使用结 ...
DDD作为架构设计思想帮助微服务控制规模复杂度,那它是怎么做到的呢? 一、架构设计是为了解决系统复杂度 谈到架构,相信每个技术人员都是耳熟能详,但如果深入探讨一下,“为何要做架构设计?”或者“架构设计目的是什么?”类似的问题,大部分人可能从来没有思考过,或者即使有思考,也没有太明确可信的答案。 1. ...
一.概述 分布式系统存在网络,时钟,以及许多不可预测的故障。分布式事务,一致性与共识问题,迄今为止仍没有得到很好的解决方案。要想完美地解决分布式系统中的问题不太可能,但是实践中应对特定问题仍有许多可靠的解决方案。本文不会谈及诸如BASE, CAP, ACID 等空泛的理论,只基于实践中遇到的问题提出 ...
Java设计模式【单例模式】 单例模式 单例模式(Singleton Pattern)是一种创建型设计模式,其主要目的是确保一个类只有一个实例,并提供对该实例的唯一访问点。 优缺点 优点: 提供了对唯一实例的受控访问。 由于在系统内存中只存在一个对象,因此可以节约系统资源。 缺点: 单例类的扩展有很 ...
Java设计模式简介(总结) 什么是设计模式 Java设计模式是一组经过验证的解决特定问题的编程技术,这些技术可以帮助开发人员快速、有效地开发高质量的软件。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式分类 设计模式一般分为三大类:创建型、结构型、行为型,具体分类如 ...
1 六个问题 1.1 为什么使用DDD DDD方法论核心是将问题不断分解,把大问题分解为小问题,大业务分解小领域,简而言之就是分而治之,各个击破。 分而治之是指直接面对大业务我们无从下手,需要按照一定方法进行分解,分解为高内聚的小领域,使得业务有边界清晰,而这些小领域是我们有能力处理的,这就是领域驱 ...
>模式介绍 结构型模式(Structural Pattern)的主要目的就是**将不同的类和对象组合在一起,形成更大或者更复杂的结构体**。该模式并不是简单地将这些类或对象摆放在一起,而是要**提供它们之间的关联方式**。不同的结构型模式从不同的角度来组合类或对象,它们尽可能满足各种面向对象设计原则 ...
原文:https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90 从分布式微服务架构迁移到整体式应用 ...
学习DDD的意义 作为技术人,都有一个成为大牛的梦。 有些人可以通过自己掌握了比较底层、有深度、有难度的技术来证明自己的能力。 但对于绝大多数的应用研发工程师来说,其大部分的时间精力,会被消耗在读不懂、讲不清的屎山代码中,以及复杂多变的业务迭代中。很少会有需要去接触高深技术的机会,即便是接触了,也很 ...
# 原型模式 ## 一、模式动机 原型模式(Prototype Pattern)结构较为简单,它是一种特殊的创建型模式,**当需要创建大量相同或者相似对象时**,可以**通过对一个已有对象的复制获取更多对象**。Java语言提供了较为简单的原型模式解决方案,只需要创建一个原型对象,然后通过在类中定义 ...
# 建造者模式 ## 一、模式动机 建造者模式(Builder Pattern)是最复杂的创建型模式,它**用于创建一个包含多个组成部分的复杂对象**,可以返回一个完整的产品对象给用户。它通过将**客户端与包含多个组成部分的复杂对象的创建过程分离**,使得**客户端无需知道复杂对象的内部组成部分与装 ...
1. 什么是C#组合模式? 组合模式是一种结构型设计模式,它允许将对象组合成树形结构以表示“整体/部分”层次结构。使用此模式,客户端可以按相同的方式处理单个对象和对象集合,而不必关注它们是单个对象还是组合对象。组合对象本身也可以作为容器,包含其他组合对象,形成更复杂的树形结构。 在C#中,组合模式是 ...
# 单例模式 ## 一、模式动机 单例模式(Singleton Pattern)是结构最简单的设计模式,它的**核心结构中只包含一个被称为单例类的特殊类**。通过**单例模式可以确保系统中一个类只有一个实例**,且该实例易于被外界访问,从而方便对实例个数的控制并节约系统资源。 - [ ] 如何确保一 ...