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

面试题汇总——设计模式

简单介绍

设计模式共有23种,创建型模式5种,结构型模式7种,行为型模式11种

  • 创建型:
    • 关注对象的创建过程,将对象的创建和使用分开,在使用对象时无须知道对象的创建细节
    • 对象实例化的模式,创建型模式用于解耦对象的实例化过程。
    • 单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式
  • 结构型:
    • 把类或对象结合在一起形成一个更大的结构。
    • 适配器模式、桥接模式、组合模式、装饰模式、外观模式、亨元模式、代理模式
  • 行为型:
    • 类和对象如何交互,及划分责任和算法。
    • 访问者模式、模板模式、策略模式、状态模式、观察者模式、备忘录模式、中介者模式、迭代器模式、解释器模式、命令模式、责任链模式

面向对象(OOP)设计的7个原则

单、开、里、依、接、合、迪
目的:实现高内聚、低耦合,增加程序的可复用性、可扩展性和可维护性。

  • 单一职责原则SRP
    • 类的职责要单一,不能将太多的职责放在一个类中
    • 控制类的粒度大小、将对象解耦、提高其内聚性。
  • 开闭原则OCP
    • 对扩展开放,对修改关闭。
    • 在不修改一个软件实体的基础上去扩展其功能
    • 抽象化,是OCP的关键
  • 里氏替换原则LSP
    • 可以接受基类对象的地方,必然可以接受其子类
    • 是实现OCP的重要方式之一
http://www.lryc.cn/news/96431.html

相关文章:

  • Java SpringMvc
  • JVM运行时区域——对象创建内存分配过程
  • Springboot项目排除Bean的方法
  • 阿里云国际版云服务器防火墙设置
  • 科技资讯|苹果开放Vision Pro头显开发套件申请,此前曝光三款电池
  • Langchain 的 LLMChain
  • 100天精通Golang(基础入门篇)——第17天:深入解析Go语言中的指针
  • 第七章:WILDCAT: 弱监督学习的深度卷积神经网络用于图像分类、点位定位和分割
  • Axios-post请求下载文件
  • 视频增强技术-对比度增强
  • uni-app点击按钮弹出提示框(以弹窗的形式显示),选择确定和取消
  • linux部署es+kibana
  • 二十三种设计模式第十七篇--迭代子模式
  • 《零基础入门学习Python》第056讲:论一只爬虫的自我修养4:网络爬图
  • 23.7.26总结(博客项目)
  • 安全第一天
  • SpringCloud学习路线(12)——分布式搜索ElasticSeach数据聚合、自动补全、数据同步
  • cloudstack的PlugNicCommand的作用
  • LT9211C 是一款MIPI/RGB/2PORT LVDS互转的芯片
  • 【Rust 基础篇】Rust 通道(Channel)
  • 学习 C语言第二天 :C语言数据类型和变量(下)
  • 【Kubernetes资源篇】ingress-nginx最佳实践详解
  • Java基础阶段学习哪些知识内容?
  • 【HISI IC萌新虚拟项目】ppu整体uvm验证环境搭建
  • 图像处理之hough圆形检测
  • el-upload文件上传(只能上传一个文件且再次上传替换上一个文件) vue3+vite+ts
  • 随手笔记——根据点对来估计相机的运动综述
  • ip校园广播音柱特点
  • 用 Node.js 手写 WebSocket 协议
  • Xilinx AXI VIP使用教程