摘要: 责任链模式 将多个处理方法连接成一条链条,请求将在这条链条上流动直到该链条中有一个节点可以处理该请求;通常这条链条是一个对象包含对另一个对象的引用而形成链条,每个节点有对请求的条件,当不满足条件将传递给下一个节点处理。 例如:请假 from abc import ABCMeta, abstractm 阅读全文
posted @ 2021-04-02 16:00 MrSatan 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 相信学过java框架的对AOP应该是很熟悉了,那什么是面向切面编程AOP呢? AOP 简言之、这种在运行时,编译时,类和方法加载时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。 我们管切入到指定类指定方法的代码片段称为切面,而切入到哪些类、哪些方法则叫切入点。有了AOP, 阅读全文
posted @ 2021-04-02 11:01 MrSatan 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 什么是构建者模式 创建者模式又叫建造者模式,是将一个复杂的对象的构建与它的表示分离,使 得同样的构建过程可以创建不同的表示。创建者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对象。 适用场景: 隔离复杂对象的创建和使用,相同的方法 阅读全文
posted @ 2021-04-02 11:00 MrSatan 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 内容:在不改动源代码的情况下,将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。 两种实现方式: 类适配器:使用多继承 对象适配器:使用组合 适用场景: 想使用一个已经存在的类,而它的接口不符合你的要求 角色: 目标接口(ApplePay) 待 阅读全文
posted @ 2021-04-01 23:36 MrSatan 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 门面模式 理解结构型设计模式 结构型模式描述如何将对象和类组合成更大的结构 结构型模式是一种能够简化设计工作的模式,因为它能够找出更简单的方法来认识或表示实体之间的关系。在面向对象世界中,结构型模式是一种能够简化设计工作的模式,因为它能够找出更简单的方法来认识或表示实体之间的关系。在面向对象世界中, 阅读全文
posted @ 2021-04-01 16:14 MrSatan 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 工厂模式 工厂方法模式: 定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。 工厂方法模式就是简单工厂模式的进一步抽像。由于面向对象多态性,工厂方法模式保持了简单工厂的有点同时克服了他的缺点。工厂方法模式中,核心的工厂被提升为一个抽象类,将具体的创 阅读全文
posted @ 2021-03-31 23:25 MrSatan 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式 内容 不直接向客户暴露对象创建的实现细节,而是通过一个工厂类来负责创建产品类的实例。 角色 工厂角色 抽象产品角色 具体产品角色 优点 隐藏类对象创建的实现细节 客户端不需要修改代码 缺点 违反类单一职责原则,将创建逻辑集中到一个工厂类里 当添加新产品时,需要修改工厂类的代码,违反了开 阅读全文
posted @ 2021-03-31 21:51 MrSatan 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 一、什么是单例模式 单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。 比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取, 然后服务进程中的其他对象再 阅读全文
posted @ 2021-03-31 15:25 MrSatan 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 前言 我们知道,生产者发送消息到主题,消费者订阅主题(以消费者组的名义订阅),而主题下是分区,消息是存储在分区中的,所以事实上生产者发送消息到分区,消费者则从分区读取消息,那么,这里问题来了,生产者将消息投递到哪个分区?消费者组中的消费者实例之间是怎么分配分区的呢?接下来,就围绕着这两个问题一探究竟 阅读全文
posted @ 2021-03-08 15:14 MrSatan 阅读(69) 评论(0) 推荐(0) 编辑
摘要: | ### 背景 | | | | Elasticsearch由一些Elasticsearch进程(Node)组成集群,用来存放索引(Index)。为了存放数据量很大的索引,Elasticsearch将Index切分成多个分片(Shard),在这些Shard里存放一个个的文档(document)。通过 阅读全文
posted @ 2021-03-01 22:19 MrSatan 阅读(116) 评论(0) 推荐(0) 编辑