定义 抽象工厂模式是一种创建型设计模式,它提供一个接口,用于创建一系列相关或依赖的对象,而无需指定它们的具体类。抽象工厂模式将对象的创建过程抽象化,允许子类通过实现具体工厂类来定制对象的创建。 为什么使用抽象工厂模式 产品族的一致性 抽象工厂模式确保同一产品族中的对象之间的一致性。 部分遵循开闭原则 ...
定义 代理模式(Proxy Pattern)是软件工程中的一种设计模式,它属于结构型模式,用于在不直接访问实际对象的情况下,通过一个或多个代理对象来间接访问某个对象或执行某些操作。 目的 这种模式的主要目的是: 控制访问:代理可以在访问真实对象之前或之后添加额外的操作,如权限检查、延迟初始化、日志记 ...
最近时间稍微空闲,整理下云屏整机设备的OTA流程及方案。之前开发时有过定义/设计,这里稍微整理总结下 整机软件有很多模块,系统及外设固件、Windows服务、Windows应用,比如系统点屏9969、摄像头固件、触摸框固件、显卡驱动、Windows一些自研服务(用于通信以及系统修复等)、全家桶应用( ...
定义 工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类来决定实例化哪一个类。工厂方法使得类的实例化延迟到子类,这样可以让客户端在不需要知道具体类的情况下创建对象。工厂方法模式通过使用继承和多态性,允许子类来控制对象的创建方式,能够更好地应对对象创建的复杂性和变化性。 为什么 ...
本文主要介绍了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:Project Object Model) 这玩意儿是使用Java开发的,所以采用的就是Java的思想:面向对象 Maven的作用: 项目构建:提供标准的、跨平台的自动化项目构建方式 依赖管理:方 ...
首先,Raft 集群必须存在一个主节点(leader),我们作为客户端向集群发起的所有操作都必须经由主节点处理。所以 Raft 核心算法中的第一部分就是选主(Leader election)——没有主节点集群就无法工作,先票选出一个主节点,再考虑其它事情。 其次,主节点需要承载什么工作呢?它会负责... ...
生成全局唯一 ID 全局唯一 ID 需要满足以下要求: 唯一性:在分布式环境中,要全局唯一 高可用:在高并发情况下保证可用性 高性能:在高并发情况下生成 ID 的速度必须要快,不能花费太长时间 递增性:要确保整体递增的,以便于数据库创建索引 安全性:ID 的规律性不能太明显,以免信息泄露 从上面的要 ...
本文我们主要介绍了数据封装的基本概念和特性,如何设置自定义类的私有属性和私有方法,protect属性的概念和特点。 ...
本文我们主要讲解了如何为自定义类添加方法,pyseria 库的基本使用(串口数据收发、serial.Serial 类的属性和方法),VSPDPro 虚拟串口软件使用方法等,并使用自定义的串口类和 PC 主机进行串口数据收发。 ...
本文主要介绍了,当使用Python创建自定义类时,如何为其添加属性,包括为类和实例添加属性两种,以及如何获取自定义的属性等内容。 ...
本文主要介绍了串口通信协议的基本概念、串口通信的基本流程、如何使用 Python 语言创建一个类和类内成员中属性和方法的定义。 ...
本文主要介绍了面向对象编程的基本概念:类和对象、三大特性-继承封装多态、UML类图和对象图的基本概念以及教程所需要的开发环境。 ...