范桂飓
AWS Global Community Hero,EdgeGallery 开源社区架构组副主席及秘书处成员,跑步与自行车运动爱好者。
- 2016 年度十大博客之星得主
- 2021 年度十大博客之星得主
- 2022 年度博客新星评委
- 2023 年度博客之星评委
- 2024 年度博客之星评委
展开
-
架构师之路系列文章
目录文章目录目录软件架构API 经济系统架构分布式系统分布式消息队列分布式任务队列高可靠要求高性能要求安全要求软件架构API 经济《架构师之路 — API 经济 — API 实现方式》《架构师之路 — API 经济 — RESTful API 设计规范》《架构师之路 — API 经济 — Web、HTTP Server、API Service、Application》《架构师之路 — API 经济 — Swagger & OpenAPI Specification》系统架构分布式系原创 2022-02-05 15:26:52 · 3695 阅读 · 4 评论 -
数据要素资料阅读笔记
数据空间是一种保障数据共享、流通和应用的分布式 可信数据流通基础设施,互联网龙头企业基于自身技术基础积极探索 数据空间方案,例如华为云交换数据空间 EDS、腾讯云数链通数据共 享平台、百度以区块链为核心的数据安全流通解决方案等,此外,中 国移动的数联网服务平台 DSSN、中国电信的数据要素融通服务平台 “灵泽”等均为企业搭建数据共享流通技术空间的有益实践。数据要素 的持有者,在收益未达预期时,不愿与更多人分享和复用,会采用多 种手段保护数据不被泄露,并限制其他人访问数据,这些限制导致数 据要素变得稀缺。原创 2024-10-11 00:21:13 · 398 阅读 · 0 评论 -
论文阅读笔记 —— 数字化转型对 Y 公司运营效率影响研究
Y 公司的发展 也得到了市场的肯定与关注,根据 Y 公司官网的相关统计数据显示,仅 2023 年, Y 公司的整车销量就达到了 336.7 万辆,同比增长幅度为 5.1%;其营业收入达 到了 6249.4 亿元,同比增长率达到了 6%。与此同时,Y 公司在技术领域、产品 领域以及战略布局等多个领域都处于行业领先的地位。原创 2024-10-07 00:38:41 · 437 阅读 · 0 评论 -
数智化转型资料阅读笔记
数字的定义:与其他信息资源相比具有可复制、可传输、可计算的特点。数字化的定义:包括数据的采集、传输、存储、计算和应用,是指将各类复杂多变的信息转变为可以度量的数据,并加以处理的过程。数字化转型的定义:指企业利用新一代数字技术,将某个生产经营环节乃至整个业务流程的物理信息链接起来,形成有价值的数字 资产,通过计算反馈有效信息,最终赋能到企业商业价值的过程。当今企业运用数字化相关技术和工具,推动企业转型, 从而将数字价值叠加到企业的商业价值,增强自身竞争力。原创 2024-10-06 00:40:52 · 399 阅读 · 0 评论 -
网络协议 — Keepalived 高可用方案
Keepalived 最初是为 LVS(Linux Virtual Server)L4 负载均衡方案而设计的 RS(真实服务器)集群健康状态检测软件,通过 TCP 和 IP 协议来实时(毫秒级)检测负载均衡后端集群中的每个 RS 节点的健康状态,并根据状态实现实时的 RS 节点移除和添加。以此来保证 RS 集群始终是 Keep Alive 的。优先级不会不断的提高或者降低,不管提高优先级还是降低优先级,最终优先级的范围是在 [1,254],不会出现优先级小于等于 0 或者优先级大于等于 255 的情况。原创 2024-07-10 19:49:39 · 666 阅读 · 0 评论 -
LVS & Keepalived 实现 L4 高可用负载均衡器
目录文章目录目录安装 LVS安装 LVS原创 2019-01-04 19:55:10 · 2736 阅读 · 1 评论 -
HAProxy & Keepalived 实现 L4-7 高可用负载均衡器
当故障恢复后,再将 VIP 重新漂移过来。VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议),该协议会对共享多存取访问介质(e.g. 以太网)上的主机设备的默认网关(Default Gateway)进行冗余备份,从而当其中一台路由设备宕机时,备份路由设备也能够及时接管路由转发任务。HAProxy 支持基于 Web 的监控平台,可以查看 frontend 和 backend 的运行状态,当出现故障时,会通过不同颜色来展示故障信息,解决了故障报警问题。原创 2018-07-29 01:54:45 · 3050 阅读 · 0 评论 -
新零售 — RFID 应用案例
IDTechEx 认为,随着读写器的基础设施变得越来越完善,RFID 的使用将进一步加速服装和鞋类以及其他零售领域的零售质量,这包括库存管理,提高客户参与度和广告等优势,即使使用 RFID 将增加产品中的额外成本,但是它也是可控的,也是合理的。据沃尔玛称,2020 年其零售服装行业开始采用 UHF RFID 标签,从那时起,库存管理得到了显著的改善,从而为客户带来了更好的店内购物体验,同时增加了顾客的回购率,最终提高销售潜力。迪卡侬凭借优势的全产业链掌控模式,保证了迪卡侬在产品价格方面的竞争力。原创 2023-01-04 00:55:21 · 1566 阅读 · 1 评论 -
工业数字化转型 — 工业机器人
主计算机带有 2 个 PCIe 卡槽,以及多种接口,比如与编程 PC 连接的服务网口、用于连接示教器的网口、连接轴计算机板的接口、连接安全面板的接口、不同的现场总线卡接口(比如 PRROFIBUS、PROFNET、DeviveNet 等)、安全板接口及其它可选接口等。在 IRC5 主计算机上提供了 2 个空余的以太网口用于连接,分别为 LAN3 和 WAN。主计算机,也称为主机,是整个控制器的大脑,它运行 ABB 机器人操作系统 RobotWare-OS,执行用户编写的程序,控制机器人进行响应的动作。原创 2022-11-17 18:46:41 · 1058 阅读 · 0 评论 -
工业数字化转型 — 工业物联网
目录文章目录目录边缘计算与工业互联网边缘计算与工业互联网中国科学院院士邬贺铨曾经提到:“1G 到4G 是面向个人通信的,5G 是面向移动互联网和工业互联网的。”将 5G 边缘计算引入工业互联网,对于运营商来说,可以提升自身在价值链上的地位,提供更优质的服务;对于工业互联网来说,5G 边缘计算技术可以解决数据时延、带宽、安全性等问题,满足并加快整体建设需求。当前,发达国家纷纷实施 “再工业化” 战略,包括美国的先进制造业战略、德国的工业 4.0 计划、日本的 “互联工业” 计划、法国的 “新工业法国”原创 2020-10-31 21:59:54 · 2721 阅读 · 2 评论 -
工业数字化转型 — 工业现场总线
是一种高度完整的串行总线系统,最初作为自动汽车总线创建,后来成为一种用于实现工业自动化的现场总线。过去,人们在串行接口上进行工业通信,这些串行接口最初由不同的公司创建,后来逐渐形成很多不同的串行现场总线协议标准。:是世界上较为成功的现场总线技术,可提供针对过程数据和辅助数据的数字通信,速度高达 12 Mbps,并支持多达 126 个地址。现场总线,就是指安装在现场设备级的、用于连接现场控制器、现场设备、以及自动化控制系统的全数字、串行、双向、多站的通信系统。原创 2022-11-11 17:41:58 · 1222 阅读 · 0 评论 -
工业数字化转型 — 工业以太网
不采用 TCP/IP 协议,而是定义了一种专用的包含实时层的实时数据传输协议,用来传输对实时性要求很高的数据。而 TCP/IP 协议可能依然存在,用来传输非实时数据,但是其对以太网的读取受到实时层的限制,以提高实时性能。更专业具体地说,工业以太网是建立在 IEEE 802.3 系列标准和 TCP/IP 协议之上的分布式实时控制通讯网络,适用于数据量传输量大,传输速度要求较高的场合。与普通的以太网相比,工业以太网在自动化生产场景中需要解决开放性、实时性、同步性、可靠性、抗干扰性及安全性等诸多方面的问题。原创 2022-11-11 16:12:21 · 1495 阅读 · 0 评论 -
工业数字化转型 — 工业自动化和控制系统
举个例子,OT 部门收到 IT 部门的通知,将升级网络并在工厂中实现全新的网络安全措施,OT 部门需要配合其工作。首先,是数据的传输接口与标准统一问题,OT 常用现场总线和工业以太网(也在尝试标准以太网),对数据实时性(毫秒级或微秒级)和传输确定性要求很高,网络传输低抖动,而 IT 通常是非实时的,秒级响应就足够了,网络主要采用标准以太网,OT 与 IT 融合首先要解决网络互联、数据互通的问题。长久以来,OT 和 IT 是相互隔离的,各自有着不同的目标,沿着不同的路径发展,彼此之间存在显著的鸿沟。原创 2022-11-11 15:38:33 · 1214 阅读 · 0 评论 -
数字化转型 — 新能源汽车 — 生产制造流程 — 三电车间
由于铝合金的热膨胀系数是钢的2倍,焊接过程更容易产生焊接变形,因此对焊接精度要求更高。电芯组装工艺采用世界最先进的铝丝超声波焊接,对标特斯拉电池包生产工艺。:电池包需要通过了 203 项严苛测试。例如:上汽大众自主设计了整套热量控制系统,万一发生极端情况,可控制 5 分钟内明火不从电池壳体中冒出,保护驾乘者安全。每个电池包与车壳匹配后,通过连廊自动输送到总装车间。原创 2022-10-27 16:23:25 · 1637 阅读 · 0 评论 -
数字化转型 — 新能源汽车 — 生产制造流程 — 总装车间
总装车间负责完成车身、电机、变速器、仪表盘、车灯、座椅等各零件组装。装配工艺的水平直接影响到汽车的性能。负责车辆内部线束、风挡、仪表台以及地毯等装配工作,采用自动化升降滑板配合人工装配,可以根据不同人员的身高和作业内容进行编程并调整车辆的高度,提升生产效率的同时又降低了员工的作业强度。主要承担着汽车动力部件、前后桥及轮胎等的装配,利用AGV无轨动力随行车的运输与托举,安装更精准、轻松。工艺操作类型多,包括:放置、紧固、卡接、粘贴、插接、检查等。总装车间工艺布局包括:内饰线、底盘线、门线、发动机线与机运线。原创 2022-10-27 16:22:37 · 2901 阅读 · 0 评论 -
数字化转型 — 新能源汽车 — 生产制造流程 — 涂装车间
涂装有两个重要作用,第一车防腐蚀,第二增加美观。包括完整的前处理、电泳、密封、中涂、面漆、烘干等标准工序。原创 2022-10-27 16:21:43 · 1417 阅读 · 0 评论 -
数字化转型 — 新能源汽车 — 生产制造流程 — 车身车间
OPEN GATE(柯马 / 库卡)总拼形式,各个不同车型的总拼夹具分别放置在滑轨上,各滑轨之间连通,通过将不同车型的侧围总拼夹具移动至合拼工位,来实现夹具及车型的切换。车身车间的主要工作是,对冲压好的工件进行焊接形成车身。机器人控制器用于向机器人发出运行指令,并向焊接控制器发出焊接程序和指令,由焊接控制器完成焊接工作。:焊接好坏直接影响了车身的强度,所以很多厂家在说自己的车身结构的时候会特强调自己是 “激光钎焊焊接工艺”。:一辆新车型通过需要新建相应的前舱、侧围、门盖总成焊接区,产线改造时间较长。原创 2022-10-27 16:20:39 · 1717 阅读 · 0 评论 -
数字化转型 — 新能源汽车 — 生产制造流程 — 冲压车间
实现零件成型全工序分析,识别零件刚度、滑移线、冲击线、回弹等问题,并针对性的提出解决方案,确保零件质量满足要求,减少后期模具调试周期。冲压车间的主要工作是,把钢板、铝板等原材料,经过切割和冲压处理后,产出车身外壳工件(通常的,单个车型具有 19 个大型内外覆盖件)。:进行虚拟仿真调试,实现冲压线、端拾器、模具最优匹配,优化模具结构、优化自动化曲线,缩短调试周期,提高生产节拍。:模拟模具废料滑落状态,提前识别堵废料风险并针对性优化模具结构,降低后期生产过程卡废料风险。冲压主线,完成冲压工作,产出工件。原创 2022-10-27 16:19:32 · 1467 阅读 · 0 评论 -
工业数字化转型 — 数字化工厂的信息化系统架构
真实工厂与虚拟工厂同步运行,真实工厂生产时的数据参数、生产环境等都会通过虚拟工厂反映出来,虚拟与现实结合,并利用三维可视化技术将生产场景真实展现出来,生产数据实时驱动三维场景中的设备,使其状态与真实生产场景一致,从而更充分了解整个生产场景中各设备的运行状况,达到监测、分析的目的;工厂投入了大量的自动化设备和信息化应用系统,包含工厂级 MES 生产执行系统,设备管理系统,质量管理系统,SAP 系统,供应商管理系统,WMS 系统,AGV 智能调度系统,可视化监控系统等。设备智能管理系统(TPMS)原创 2022-10-26 15:03:41 · 1273 阅读 · 0 评论 -
数字化转型 — 新能源汽车 — 生产制造流程 — Overview
人工焊枪的运用是因为,尽管车身车间的自动化率会很高,但人工的成本相对较低,可以进行一些小件的焊接工作,而且全线使用机器人的维护和保养成本会较高。装配工艺的水平直接影响到汽车的性能,我们会看到有些汽车扳金接缝比较均匀,而有些汽车扳金接缝不均匀,这都是与装配工艺关系比较大的。经过冲压后的工件会经过质检员的检验,确保通过的每一个工件都能达到标准,而有瑕疵的工件则被交给技术团队进行手工修正。先是把钢板在切割机上切割出合适的大小,这个时候一般只进行冲孔、切边之类的动作,然后进入真正的冲压成形工序。原创 2022-10-25 15:44:22 · 1648 阅读 · 0 评论 -
工业数字化转型 — 工业 4.0
企业可以运用 AI/ML 技术支持的分析解决方案来实时处理数据,并利用从中获得的洞察提升供应链管理各个领域的决策和自动化水平,比如:供应链计划、物流管理、制造、研发和工程、EAM(企业资产管理)和采购领域。工业 4.0 的实施过程是制造业创新发展的过程,制造技术、产品、模式、业态、组织等方面的创新,将会层出不穷,从技术创新到产品创新,到模式创新,再到液态创新,最后到组织创新。工业 4.0 连接和产品数据、设备数据、研发数据、工业链数据、运营数据、管理数据、销售数据、消费者数据。原创 2022-10-24 17:06:12 · 939 阅读 · 0 评论 -
数字化转型 — Overview
具体来看,零售用户数据化的价值体现在生产、 渠道、销售和运营各场景,精细化地解决企业增长核心问题,包括用户喜欢什么产品、用户喜欢在什么渠道购买产品、用 户更加容易被什么卖点打动、怎么抓住用户地全生命周期价值等,帮助零售企业建立更加有效的增长策略。在零售行业用户为王的时代,零售企业从新品的设计、渠道终端的选择、销售策略的制定再到已有用户的运营,都会以用户为中心展开,从用户需求出发链接到各场景,首先需要做好用户数据化。员工可能会有一些抵触情绪,他们对旧的经营方式感到自在,可能会感到受到新技术的威胁。......原创 2022-08-31 11:18:01 · 962 阅读 · 0 评论 -
分布式链路追踪 — Overview
一次特定跟踪的所有相关 Spans 会共享同一个通用的 trace id。:由于每次 Trace 都可能会调用数量不定、坐标不定的多个服务,为了能够记录具体调用了哪些服务,以及调用的顺序、开始时点、执行时长等信息,每次开始调用服务前都要先埋入一个调用记录,这个记录称为一个跨度。:从 Client 发起的 RequestX 抵达系统的边界开始,记录 RequestX 流经的每一个系统服务,直到到向 Client 返回 Response 为止,这整个过程就称为一次追踪。......原创 2022-08-15 10:47:47 · 821 阅读 · 0 评论 -
快速理解 session/token/cookie 认证方式
目录目录cookiesessiontokencookieWeb Application 一般以 HTTP 协议作为传输协议, 但 HTTP 协议是无状态的. 也就是说 server-side 与 client-side 一旦数据交换完毕后,两者之间的连接就会被关闭. client-side 再次发送请求时, 需要建立新的连接, 这就意味着 server-side 和 client-side 两原创 2017-02-19 00:06:30 · 6709 阅读 · 2 评论 -
设计模式 — 行为型模式 — 模板方法模式
目录文章目录目录模板方法模式应用场景代码示例模板方法模式模板方法模式,定义一个算法或者流程,部分环节设计为外部可变,用类似于模板的思想来实例化一个实体,可以往模板中填充不同的内容;在模板思想下,实体的整体框架是确定的,他是一个模板,但是模板下内容可变,从而实现了动态的更新流程或算法。模板方法模式和建造者模式有些类似。但是建造者模式是将对象的构建和表示分离,相同的构建生成不同的表示对象;而模板方法是将定义的算法或流程中的部分环节推迟到子类中实现算法或流程的可变,这是二者本质的区别。应用场景代码示原创 2022-02-14 19:11:41 · 1121 阅读 · 0 评论 -
设计模式 — 行为型模式 — 解释器模式
目录文章目录目录解释器模式应用场景代码示例解释器模式解释器模式,开发者自定义一种 “有内涵” 的语言(或者叫字符串),并设定相关的解释规则,输入该字符串后可以输出公认的解释,或者执行程序可以理解的动作。优点:可扩展性比较好,灵活。增加了新的解释表达式的方式。易于实现简单文法。缺点:可利用场景比较少。对于复杂的文法比较难维护。解释器模式会引起类膨胀。应用场景SQL 解析符号处理引擎代码示例实体角色:终结符表达式:实现与文法中的元素相关联的解释操作,通常一个解释转载 2022-02-15 00:05:48 · 1038 阅读 · 0 评论 -
设计模式 — 行为型模式 — 访问者模式
目录文章目录目录访问者模式(Visitor Pattern)应用场景代码示例访问者模式(Visitor Pattern)数据结构中保存着许多元素,当我们希望改变一种对元素的处理方式时,要避免重复的修改数据结构。那么就要求我们在实现代码时,将数据的处理进行分离,即:数据类只提供一个数据处理的接口,而该数据处理接口就被称之为访问者。那么,相同结构的数据面临不同的处理结果时,我们只需要创建不同的访问者。访问者模式,指作用于一个对象结构体上的元素的操作。访问者可以使用户在不改变该结构体中的类的基础上定义一个原创 2022-02-14 23:37:34 · 1179 阅读 · 0 评论 -
设计模式 — 行为型模式 — 备忘录模式
目录文章目录目录备忘录模式应用场景代码示例备忘录模式备忘录模式,在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。简单来说,就是在运行过程中我们可以记录某个状态,当遇到错误时恢复当前状态,这在业务流程中是用设计来处理异常情况。优点:有时一些发起人对象的内部信息必须保存在发起人对象以外的地方,但是必须要由发起人对象自己读取。这时,使用备忘录模式可以把复杂的发起人内部信息对其他的对象屏蔽起来,从而可以恰当地保持封装的边界。本模式简转载 2022-02-15 00:18:44 · 1093 阅读 · 0 评论 -
设计模式 — 行为型模式 — 状态模式
目录文章目录目录状态模式应用场景代码示例状态模式状态模式,当对象的内部状态发生了改变的时候,允许对象执行不同的流程。优点:封装了状态转换规则。枚举了可能的状态,在枚举状态之前需要确定状态的种类。将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为。允许状态转换逻辑与状态对象合成一体,而不是某一个巨大的条件语句块。可以让多个环境对象共享一个状态对象,从而减少系统中对象的个数。缺点:状态模式的使用必然会增加系统类和对象的个数。状态原创 2022-02-14 23:21:37 · 1126 阅读 · 0 评论 -
设计模式 — 行为型模式 — 迭代器模式
目录文章目录目录迭代器模式应用场景代码示例迭代器模式迭代器模式,对外提供一个接口,实现顺序访问聚合数据,但是不显示该数据的内部机制。Python 本身就很好的支持了迭代器模式,寥寥几行代码旧可以实现。在 Python 中:生成器:对于一个数据集合,生成器并不记住每个元素值,但在循环中记录元素位置并根据元素生成规则推算出数值,这种边循环边计算的形式是生成器。迭代器:是一种访问集合的方式,记住遍历位置,从第一个元素开始访问,直到最后一个元素,并且只能前进不能后退。凡是可以通过 next() 访问转载 2022-02-15 00:10:30 · 1048 阅读 · 0 评论 -
设计模式 — 创建型模式 — 工厂模式
目录文章目录目录工厂模式应用场景编码示例1、简单工厂模式2、工厂方法模式工厂模式应用场景编码示例1、简单工厂模式简单工厂模式,不直接向客户端暴露某个类的对象(实例化)创建的实现细节,而是通过一个工厂类来负责创建。适用于简单的业务场景。import abc# 抽象产品class Productor(metaclass=abc.ABCMeta): @abc.abstractmethod def product(self, car): pass原创 2022-02-14 11:36:15 · 1205 阅读 · 1 评论 -
设计模式 — 行为型模式 — 观察者模式
目录文章目录目录观察者模式应用场景代码示例观察者模式观察者模式,必须包含 “观察者” 和 “被观察者” 这两个角色,并且观察者和被观察者之间存在 “观察” 的逻辑关联,当被观察者发生改变的时候,观察者就会观察到这样的变化,并且做出相应的响应。例如:业务数据是被观察者,用户界面是观察者。观察者模式的实现思路是:核心的抽象类用于管理所有依赖它的其他类,当核心类发生变动时,主动通知并更新其他类。应用场景一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这些方面封装在独立的对象中使它们可以各自原创 2022-02-14 23:09:49 · 1269 阅读 · 0 评论 -
设计模式 — 行为型模式 — 责任链模式
目录文章目录目录责任链模式应用场景代码示例责任链模式责任链模式,将多个处理方法连接成一条链条,请求将在这条链条上流动直到该链条中有一个节点可以处理该请求。通常这条链条是一个对象包含对另一个对象的引用而形成链条,每个节点有对请求的条件,当不满足条件将传递给下一个节点处理。责任链模式有几个要点:一个对象中含有另一个对象的引用以此类推形成链条。每个对象中应该有明确的责任划分,即处理请求的条件。链条的最后一节应该设计成通用请求处理,以免出现漏洞。请求应该传入链条的头部。应用场景代码示例实原创 2022-02-14 22:50:10 · 1098 阅读 · 0 评论 -
设计模式 — 行为型模式 — 中介者模式
目录文章目录目录中介者模式应用场景代码示例中介者模式中介者模式,将其他对象之间的交互装在中介者对象中,达到松耦合、隐式引用、独立变化。中介者模式与代理模式有相似之处。但是代理模式是结构性模式,侧重于对对象调用的接口控制;而中介者模式是行为性模式,解决对象与对象之间相互调用的行为问题。应用场景代码示例以生产者和消费者之间的销售作为一个中介者,用对象来表示生产和购买及流通这个过程。class Consumer: """消费者类""" def __init__(self, pro转载 2022-02-15 00:12:54 · 1058 阅读 · 0 评论 -
设计模式 — 行为型模式 — 策略模式
目录文章目录目录策略模式应用场景代码示例策略模式策略模式中,首先定义了一系列不同的算法,并把它们一一封装起来,然后在策略类中,使这些算法可以相互替换。优点:定义了一系列可重用的算法和行为。消除了一些条件语句。可以提供相同行为的不同实现。缺点:Client 必须了解不同的策略行为细节。应用场景根据不同的客户属性,采用不同的折扣策略来计算订单中的商品价格:有 1000 或以上积分的客户,每个订单享 5% 折扣。同一订单中,单个商品的数量达到 20 个或以上,享 10% 折扣。原创 2022-02-14 18:09:05 · 1028 阅读 · 0 评论 -
设计模式 — 行为型模式 — 命令模式
目录文章目录目录命令模式应用场景代码示例命令模式命令模式的目的是解耦调用操作的对象(调用者)和提供实现的对象(接收者)。命令模式的思路是在调用者和接收者之间插入一个命令类(Command),该命令类定义了一个 execute 接口,并且该接口实际上是调用了接收者中的具体方法来执行具体命令,以此可以通过扩展命令子类来扩展多个不同的接收者。这样调用此命令的调用者就和命令接收者之间解耦了。优势:封装性好,每个命令都被封装起来,对于客户端来说,需要什么功能就去调用相应的命令,而无需知道命令具体是怎么原创 2022-02-14 18:29:23 · 1066 阅读 · 0 评论 -
设计模式 — 结构型模式 — 享元模式
目录文章目录目录享元模式应用场景代码示例享元模式享元,可理解为 Python 中的元类、最小粒度的类,系统中存在大量的相似对象时,可以选择享元模式提高资源利用率。享元具有两种状态:内蕴状态:存储在享元内部,不会随环境的改变而有所不同,是可以共享的。外蕴状态:是不可以共享的,它随环境的改变而改变的,因此外蕴状态是由客户端来保持(因为环境的变化是由客户端引起的)。应用场景如果一个应用程序使用了大量的对象,而这些对象造成了很大的存储开销的时候就可以考虑是否可以使用享元模式。例如:如果发现某个转载 2022-02-15 00:00:03 · 1072 阅读 · 0 评论 -
设计模式 — 结构型模式 — 外观模式
目录文章目录目录外观模式(Facade)应用场景代码示例外观模式(Facade)外观模式(Facade),为子系统中的一组接口提供一个一致的界面。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式与适配器模式的区别在于:外观模式是为大系统下的小系统设计统一的接口,而适配器模式是针对不同系统各种接口调用而设计。优点:实现了子系统与 Client 之间的松耦合关系。Client 屏蔽了子系统组件,减少了 Client 所需处理的对象数目,并使得子系统使用起来更加容易。应转载 2022-02-14 23:56:12 · 1027 阅读 · 0 评论 -
设计模式 — 结构型模式 — 装饰模式
目录文章目录目录装饰模式应用场景代码示例装饰模式装饰模式,指的是在不需要改变原类和使用继承的情况下,动态地扩展一个对象的功能。它通过创建一个包装对象,也就是 Python 中的装饰器来包裹实际的对象。在 Python 中实现动态扩展对象功能的方法,最简单的是通过复写 __getattr__ 函数,在 getattr() 中写入我们需要扩展的功能;或者实现一个装饰器。装饰模式的特点:装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方式和装饰对象交互。装饰对象包含一个真实对象转载 2022-02-14 23:52:25 · 1009 阅读 · 0 评论 -
设计模式 — 结构型模式 — 代理模式
目录文章目录目录代理模式应用场景代码示例代理模式代理模式,为其他对象提供一种代理,以此控制一个对象的访问方式。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。应用场景远程(Remote)代理:为一个位于不同的地址空间的对象提供一个局域代表对象。这个不同的地址空间可以是在本机器中,也可是在另一台机器中。远程代理又叫做大使(Ambassador)。好处是系统可以将网络的细节隐藏起来,使得客户端不必考虑网络的存在。虚拟(Virtual原创 2022-02-14 19:04:34 · 1036 阅读 · 0 评论