您的位置:首页 > 科技 > IT业 > 个人网站域名后缀_公司部门结构图_搜索引擎广告的优缺点_提高百度搜索排名

个人网站域名后缀_公司部门结构图_搜索引擎广告的优缺点_提高百度搜索排名

2025/4/10 9:57:31 来源:https://blog.csdn.net/qq_54088234/article/details/146908116  浏览:    关键词:个人网站域名后缀_公司部门结构图_搜索引擎广告的优缺点_提高百度搜索排名
个人网站域名后缀_公司部门结构图_搜索引擎广告的优缺点_提高百度搜索排名

设计模式基础入门

参考视频课程地址:001-尚硅谷-设计模式-bilibili

七大原则

  1. 单一职责原则
  2. 接口隔离原则
  3. 依赖倒转原则
  4. 里氏替换原则
  5. 开闭原则 ocp
  6. 迪米特法则(最少知道原则)
  7. 合成复用原则

设计模式的重要性

软件工程中,设计模式是对软件设计中**普遍存在(反复出现)**的各种问题,所提出的解决方案。

设计模式在软件中哪里?

面向对象 -> 功能模块【设计模式 + 算法(数据结构)】 -> 框架【使用到多种设计模式】 -> 架构【服务器集群】

三大类别

设计模式主要分为三大类:创建型模式(Creational Patterns)结构型模式(Structural Patterns)行为型模式(Behavioral Patterns),共23种经典设计模式。


🏗️ 一、创建型模式(Creational Patterns)

核心作用:处理对象的创建,封装复杂的实例化过程,降低对象创建的复杂性,提供更灵活的创建方式。

设计模式目的特点
单例模式 (Singleton)确保一个类只有一个实例,并提供全局访问点只有一个实例,节省资源,确保一致性
工厂方法模式 (Factory Method)定义一个创建对象的接口,让子类决定实例化哪个类延迟实例化,扩展性强,符合开闭原则
抽象工厂模式 (Abstract Factory)提供创建一系列相关或依赖对象的接口,无需指定具体类生成一组相关产品,保证产品一致性
建造者模式 (Builder)分步创建复杂对象,允许自由组合各部分复杂对象分解,简化对象的创建过程
原型模式 (Prototype)通过克隆(复制)现有对象创建新对象克隆对象,避免重复创建,效率高

应用场景

  • 单例模式:数据库连接池、线程池、缓存。
  • 工厂模式:日志类、数据库驱动加载、解析器。
  • 抽象工厂模式:跨平台应用、UI 组件创建。
  • 建造者模式:复杂文档生成器、HTML 构建、SQL 语句拼接。
  • 原型模式:对象复制、场景重置、深拷贝与浅拷贝。

🧱 二、结构型模式(Structural Patterns)

核心作用:处理类与类、对象与对象之间的组合与依赖,简化系统结构,提升代码复用性和扩展性。

设计模式目的特点
适配器模式 (Adapter)将不兼容的接口转换为可兼容的接口兼容旧系统与新系统,扩展性强
桥接模式 (Bridge)将抽象和实现解耦,二者可以独立变化实现和抽象分离,降低耦合,扩展方便
装饰器模式 (Decorator)动态为对象添加新的功能,无需修改其结构透明扩展,灵活组合,遵循开闭原则
组合模式 (Composite)使一组对象与单个对象使用方式相同,形成树形结构统一处理复杂结构,适用于层级关系
外观模式 (Facade)对外提供统一简化的接口,隐藏系统内部复杂性简化客户端操作,降低系统复杂度
享元模式 (Flyweight)共享对象,减少大量相似对象带来的内存消耗节省内存,适合大量重复对象场景
代理模式 (Proxy)为对象提供一个代理,控制对目标对象的访问控制访问权限,延迟初始化,远程代理

应用场景

  • 适配器模式:API 兼容、数据库兼容、类库适配。
  • 桥接模式:多维度变化的系统(如图形形状和颜色)。
  • 装饰器模式:动态增加日志、权限校验、数据加密。
  • 组合模式:文件系统、组织架构、菜单管理。
  • 外观模式:封装子系统,提供统一接口,如 Spring 容器。
  • 享元模式:缓存池、线程池、连接池、字符对象池。
  • 代理模式:权限控制、RPC 远程调用、AOP 切面。

🔄 三、行为型模式(Behavioral Patterns)

核心作用:关注对象之间的通信和职责分配,处理类或对象之间的交互方式,降低耦合度,提高扩展性。

设计模式目的特点
策略模式 (Strategy)定义一系列算法,封装并使它们可以互换算法独立,互不影响,符合开闭原则
模板方法模式 (Template Method)定义算法骨架,延迟子类实现某些步骤固定流程,子类实现差异化,代码复用
观察者模式 (Observer)定义一种订阅机制,使对象间实现一对多的依赖通知发布-订阅模型,事件驱动,解耦
迭代器模式 (Iterator)提供一种方法顺序访问集合内部元素,而不暴露其内部结构分离遍历逻辑,支持多种遍历方式
责任链模式 (Chain of Responsibility)将请求沿着处理链传递,链上的每个对象可对请求进行处理或传递动态处理请求,简化请求处理流程
命令模式 (Command)将请求封装为对象,支持命令的参数化与撤销解耦请求与执行,命令可记录与回滚
备忘录模式 (Memento)保存对象的状态,允许恢复到先前状态状态恢复,撤销操作,历史记录
状态模式 (State)允许对象在内部状态变化时,改变其行为行为与状态解耦,状态转换灵活
中介者模式 (Mediator)通过中介者协调多个对象的通信,避免对象间直接依赖降低复杂对象依赖,集中管理交互
解释器模式 (Interpreter)定义语言语法规则,解析并执行语法表达式自定义语言解析,适合DSL解析
访问者模式 (Visitor)分离数据结构和操作,新增操作而不修改数据结构数据与操作分离,扩展性强

应用场景

  • 策略模式:支付方式、排序算法、验证码生成。
  • 模板方法模式:数据导入、网络爬虫、任务调度。
  • 观察者模式:消息通知、事件总线、发布订阅。
  • 迭代器模式:集合遍历、数据流处理、数据库游标。
  • 责任链模式:日志拦截、权限校验、审批流程。
  • 命令模式:事务操作、任务队列、日志记录。
  • 备忘录模式:撤销操作、游戏存档、历史记录。
  • 状态模式:订单状态、工作流、权限管理。
  • 中介者模式:聊天室、MVC模式、微服务通信。
  • 解释器模式:SQL解析、规则引擎、表达式求值。
  • 访问者模式:数据导出、代码生成、语法树遍历。

✅ 总结

  • 创建型模式 → 解决对象创建问题,简化实例化过程。
  • 结构型模式 → 解决类和对象之间的组合,增强灵活性。
  • 行为型模式 → 解决对象间的通信与职责分配,提升扩展性。

企业开发中常用模式总结与选择

类别模式名称核心目的主要应用场景
创建型模式单例模式 (Singleton)保证唯一实例,节省资源Spring Bean、数据库连接池、缓存客户端
创建型模式工厂方法/抽象工厂解耦复杂对象的创建数据库操作、支付系统、多消息队列适配
结构型模式代理模式 (Proxy)扩展增强、不改变原有代码Spring AOP、RPC 调用、权限控制
结构型模式适配器模式 (Adapter)兼容不同接口支付接口、数据源切换、第三方 API 兼容
结构型模式装饰器模式 (Decorator)动态增强功能I/O 流处理、缓存增强、数据源监控
结构型模式外观模式 (Facade)简化复杂系统的使用订单处理、统一对外接口、微服务聚合
行为型模式模板方法模式固定算法骨架,灵活实现数据导入导出、Spring JDBC Template
行为型模式策略模式 (Strategy)可切换的算法订单状态、支付策略、数据校验
行为型模式责任链模式请求链式处理权限校验、审批流、风控系统
行为型模式观察者模式 (Observer)事件驱动、自动通知Spring 事件、消息推送、数据同步
行为型模式命令模式 (Command)封装请求,支持撤销与回滚数据库事务、操作记录、异步任务

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com