设计模式之抽象工厂模式(学习笔记)
定义 抽象工厂模式是一种创建型设计模式,它提供一个接口,用于创建一系列相关或依赖的对象,而无需指定它们的具体类。抽象工厂模式将对象的创建过程抽象化,允许子类通过实现具体工厂类来定制对象的创建。 为什么使用抽象工厂模式 产品族的一致性 抽象工厂模式确保同一产品族中的对象之间的一致性。 部分遵循开闭原则 ...阅读全文
定义 抽象工厂模式是一种创建型设计模式,它提供一个接口,用于创建一系列相关或依赖的对象,而无需指定它们的具体类。抽象工厂模式将对象的创建过程抽象化,允许子类通过实现具体工厂类来定制对象的创建。 为什么使用抽象工厂模式 产品族的一致性 抽象工厂模式确保同一产品族中的对象之间的一致性。 部分遵循开闭原则 ...阅读全文
定义 工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类来决定实例化哪一个类。工厂方法使得类的实例化延迟到子类,这样可以让客户端在不需要知道具体类的情况下创建对象。工厂方法模式通过使用继承和多态性,允许子类来控制对象的创建方式,能够更好地应对对象创建的复杂性和变化性。 为什么 ...阅读全文
本文主要介绍了Python中创建自定义类时如何使用多重继承、菱形继承的概念和易错点,同时讲解了如何使用PyQtGraph库对串口接收的数据进行绘图。 ...阅读全文
定义 简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,它定义一个用于创建对象的接口,但由一个单独的类来实现实际创建的工作。简单工厂模式通过在一个类中集中管理对象的创建过程,可以减少客户端与具体类之间的耦合,使得代码结构更加清晰和易于维护。通过专门定义一个类来负责创建 ...阅读全文
需求场景 按着惯例,还是以一个应用场景作为代理模式的切入点。现在有一个订单系统,要求是:一旦订单被创建,只有订单的创建人才可以修改订单中的数据,其他人则不能修改。 基本实现思路 按着最直白的思路,就是查询数据库中订单的创建人和当前Session中的登录账号ID是否一致。 class Order { ...阅读全文
本专栏一共包含6个专题,每个专题都涵盖了实际业务中常见的性能优化需求: 专题一:服务器硬件与基础设施优化 硬件升级与选择:讨论不同服务器硬件(CPU、内存、磁盘等)的选择及其对性能的影响。 负载均衡:介绍负载均衡的基本原理、常见方案(如Nginx、HAProxy),以及如何配置和优化。 网络优化:讲 ...阅读全文
定义 装饰模式(Decorator Pattern),又称为包装模式,是一种结构型设计模式。它允许在不改变现有对象结构的情况下,动态地添加新的功能。通过将每个功能封装在单独的装饰器类中,并且这些装饰器类通过引用原始对象来实现功能的组合,从而提供了灵活性和可扩展性的优势。装饰模式避免了通过继承方式增加 ...阅读全文
没想到自己的小破站也逃不掉被攻击的命,分分钟就给我刷欠费了。 本来不想写这篇文章的,但看到好多大佬(小林coding、 JavaGuide)近期cdn都被盗刷了。 还是来提醒下大家,防火防盗防cdn流量盗刷 事故时间:2024年7月5日晚8点左右 事故现场:好不容易到了周五,想着第二天就周末了,和朋 ...阅读全文
本文主要介绍了日志的定义和作用,以及 Python 内置日志处理的 logging 模块,同时简单说明了日志等级和 logging 模块的简易使用方法。 ...阅读全文
本节课,我们主要讲解了在Python类的继承中子类如何进行初始化、调用父类的属性和方法,同时讲解了模拟串口传感器和主机类的具体实现,并使用xcom串口助手与两个类进行串口通信使用。 ...阅读全文
# Maven简介 Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)) 这玩意儿是使用Java开发的,所以采用的就是Java的思想:面向对象 POM (Project Object Model):项目对象模型 Maven的作用: 项目构建:提供标准的、跨平台的 ...阅读全文
首先,Raft 集群必须存在一个主节点(leader),我们作为客户端向集群发起的所有操作都必须经由主节点处理。所以 Raft 核心算法中的第一部分就是选主(Leader election)——没有主节点集群就无法工作,先票选出一个主节点,再考虑其它事情。 其次,主节点需要承载什么工作呢?它会负责... ...阅读全文
生成全局唯一 ID 全局唯一 ID 需要满足以下要求: 唯一性:在分布式环境中,要全局唯一 高可用:在高并发情况下保证可用性 高性能:在高并发情况下生成 ID 的速度必须要快,不能花费太长时间 递增性:要确保整体递增的,以便于数据库创建索引 安全性:ID 的规律性不能太明显,以免信息泄露 从上面的要 ...阅读全文
本文我们主要介绍了数据封装的基本概念和特性,如何设置自定义类的私有属性和私有方法,protect属性的概念和特点。 ...阅读全文
本文我们主要讲解了如何为自定义类添加方法,pyseria 库的基本使用(串口数据收发、serial.Serial 类的属性和方法),VSPDPro 虚拟串口软件使用方法等,并使用自定义的串口类和 PC 主机进行串口数据收发。 ...阅读全文
本文主要介绍了,当使用Python创建自定义类时,如何为其添加属性,包括为类和实例添加属性两种,以及如何获取自定义的属性等内容。 ...阅读全文
本文主要介绍了串口通信协议的基本概念、串口通信的基本流程、如何使用 Python 语言创建一个类和类内成员中属性和方法的定义。 ...阅读全文
本文主要介绍了面向对象编程的基本概念:类和对象、三大特性-继承封装多态、UML类图和对象图的基本概念以及教程所需要的开发环境。 ...阅读全文
主要对面向过程编程与面向对象编程进行对比,介绍了软件危机的背景,讲解了面向对象编程设计思想的由来,对面向对象方法学:OOA-OOD-OOP进行简单介绍。 ...阅读全文
表格配置属性说明文档 页面添加引用: import BaseTable from ‘@/components/BaseTable/index.vue 1、grid-edit-width 表格操作栏宽度 例如:grid-edit-width:250 2、gridOtherConfig 属性 说明 示例 ...阅读全文