当前位置: 首页 > news >正文

设计模式之结构型模式

一、概述

1、结构型模式:关注如何将现有类或对象组织在一起形成更加强大的结构

2、不同的结构型模式从不同的角度组合类或对象,它们在尽可能满足各种面向对象设计原则的同时为类或对象提供一系列的解决方案

3、类结构型模式:关心类的组合,由多个类组合成一个强大的系统,在类结构型模式中一般只存在继承关系和实现关系

4、对象结构型模式:关心类与对象的组合,通过关联关系,在一个类中定义另一个类的实例对象,然后通过该对象调用相应的方法

二、结构型模式分类

适配器模式将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作
桥接模式将抽象部分与它的实现部分进行解耦,使得两者都能够独立变化
组合模式组合多个对象形成树形结构,以表示具有部分-整体关系的层次结构
装饰模式动态地给一个对象增加一些额外的职责。就扩展功能而言,装饰模式提供了一种比使用子类更加灵活的替代方案
外观模式为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
享元模式运用共享技术有效地支持大量细粒对象的复用
代理模式给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 深入浅出:理解TCP传输控制协议的核心概念
  • Go 语言错误处理
  • keepalive原理详解及应用
  • Windows采用VS2019实现Open3D的C++应用
  • ~Keepalived高可用集群~
  • CAPL使用结构体的方式组装一条DoIP车辆识别请求报文(payload type 0x0002)
  • [Datawhale AI夏令营 2024 第四期] 从零入门大模型微调之旅的总结
  • wordpress网站“ERR_CONNECTION_REFUSED”错误
  • string模拟
  • leetcode 21-30(2024.08.16)
  • P2460[SDOI2007] 科比的比赛
  • PyTorch--深度学习
  • 开源通用验证码识别OCR —— DdddOcr 源码赏析(一)
  • [C#]winform基于opencvsharp结合Diffusion-Low-Light算法实现低光图像增强黑暗图片变亮变清晰
  • 基于改进YOLOv8的景区行人检测算法
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • css属性的继承、初识值、计算值、当前值、应用值
  • Fundebug计费标准解释:事件数是如何定义的?
  • Git同步原始仓库到Fork仓库中
  • javascript面向对象之创建对象
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • passportjs 源码分析
  • Puppeteer:浏览器控制器
  • Redis在Web项目中的应用与实践
  • spark本地环境的搭建到运行第一个spark程序
  • Vue UI框架库开发介绍
  • vue的全局变量和全局拦截请求器
  • Yeoman_Bower_Grunt
  • 从tcpdump抓包看TCP/IP协议
  • 聊聊flink的BlobWriter
  • 马上搞懂 GeoJSON
  • 前言-如何学习区块链
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 运行时添加log4j2的appender
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #Z0458. 树的中心2
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (二)WCF的Binding模型
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm码农论坛 毕业设计 231126
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (九)One-Wire总线-DS18B20
  • (篇九)MySQL常用内置函数
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (十三)Flask之特殊装饰器详解
  • (十一)手动添加用户和文件的特殊权限
  • (五)c52学习之旅-静态数码管
  • (五)Python 垃圾回收机制
  • (一)VirtualBox安装增强功能
  • (转)c++ std::pair 与 std::make
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (转)平衡树
  • .env.development、.env.production、.env.staging