设计模式: 装饰模式

文章目录

  • 一、什么是装饰模式
  • 二、装饰模式的结构
  • 三、使用场景+案例分析

一、什么是装饰模式

在不改变对象原有行为的基础上,动态的来为该对象绑定新的行为。

二、装饰模式的结构

装饰模式结构中主要包含如下角色:

  • Component(抽象部件):用于声明封装器和被封装对象的公用接口。该接口主要是声明了具体部件中实现的业务方法,由于该接口的存在是的客户端可以处理未被装饰和装饰后的对象。
  • Conrete Component(具体的部件):具体的业务(基础行为)处理类,实现了抽象部件接口,也是具体装饰类装饰的对象。
  • Baes Decorator(基础装饰类):主要是用来注入具体的部件类,因此具体的装饰类可以将具体的业务处理逻辑委派给具体的部件类
  • Conrete Decorator (具体装饰类):提供了动态注入具体的部件对象,并重写基础装饰类,在调用父类方法前或后进行额外的行为
    在这里插入图片描述

三、使用场景+案例分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/427363.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作系统-虚拟机(传统计算机 虚拟机 两类VMM对比 指令等级 特权与敏感)

文章目录 传统计算机虚拟机VMM的对比支持虚拟化的CPU通常分更多指令等级(特权 敏感) 传统计算机 传统物理机只有一个操作系统 两个进程在一个操作系统上运行会存在一些隐患(相互影响 争夺资源等) 解决方法:如果各个进…

Docker部署

Docker简介 Docker是一个开源的容器引擎,它有助于更快地交付应用。 Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。 &a…

HCIP 交换

拓扑图&IP划分如下: 第一步,配制VLAN LSW1,LSW2&LSW3同理 检测 LSW1 LSW2 测试

硬件之相机选型

1. 相机成像原理 相机成像原理如图所示: 注: 当物距为无穷远时,像距等于焦距,成像在焦平面上;当物距为无穷无与两倍焦距之间时,像距在焦距与两倍焦距之间,成缩小的实像;当物距等于两…

MySQL的主从复制

主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制, 从库同时也可…

什么是JMeter?我们为什么要用JMeter做性能测试

什么是JMeter?我们为什么要用JMeter做性能测试 什么是JMeter?为什么选择JMeterJMeter的优点JMeter是如何工作的 什么是JMeter? Apache JMeter TM是纯Java开源软件,最初由Apache软件基金会的Stefano Mazzocchi开发,旨在…

使用模方时,使用手动备份功能恢复备份前的状态没有效果,是什么原因?

在使用备份恢复时,鼠标应点击在要恢复的瓦块上,再点击还原备份;见下图: 模方是一款针对实景三维模型的冗余碎片、水面残缺、道路不平、标牌破损、纹理拉伸模糊等共性问题研发的实景三维模型修复编辑软件。模方4.1新增自动单体化建…

【Web前端开发基础】前端基础布局之百分比布局、flex布局

前端基础布局 目录 前端基础布局布局简介盒模型1. 标准盒模型2. 怪异盒模型3. 解决方案4. 代码示例 常见的布局单位百分比布局flex布局一、Flex布局是什么?二、基本概念三、容器属性flex-direction属性:决定主轴的方向(即项目的排列方向&…

SwiftUI 打造酷炫流光边框 + 微光滑动闪烁的 3D 透视滚动卡片墙

功能需求 有时候我们希望自己的 App 能向用户展示与众不同、富有创造力的酷炫视觉效果: 如上图所示,我们制作了一款流光边框 + 微光滑动闪烁的 3D 透视卡片滚动效果。这是怎么做到的呢? 在本篇博文中,您将学到以下内容 功能需求1. 3D 透视滚动2. 灵动边框流光效果3. 背景…

《幻兽帕鲁》被指AI缝合,开发过程疑点重重,最后附游戏安装教程

由日本游戏工作室Pocketpair开发的《Palworld / 幻兽帕鲁》毫无疑问成为了2024年的首个巨热游戏!上周五(2024年1月19日)游戏上线抢先体验,仅在3天内销量就已突破400万!并于2024年1月21日创下了1291967名同时在线玩家的…

一种解决常用存储设备无法被电脑识别的方法

一、通用串行总线控制器描述 通用串行总线(Universal Serial Bus,简称USB),是连接电脑与设备的一种序列总线标准,也是一种输入输出(I/O)连接端口的技术规范,广泛应用于个人电脑和移动…

前沿重器[41] | 综述-面向大模型的检索增强生成(RAG)

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经…