设计模式概述

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 设计模式概述

系列文章目录


第一章 设计模式概要


前言


通过设计模式,能够使代码的逻辑性更强,更简洁。常见的设计模式:单例模式、工厂模式、策略模式、观察者模式、适配器模式、代理模式、责任链模式等


一、单例模式简述


  1. 全局只有一个实例的程序设计模式


特点

  1. 全局只有一个实例
  2. 不允许外部初始化


应用场景

  1. 数据库连接池,可用单例模式确保全局只有一个连接池
  2. 应用程序配置文件对象,可用单例模式确保全局只用一个配置文件对象


单例模式实例初始化模式

  1. 懒汉模式 :懒加载 不用到这个实例,不去做初始化,不会去分配内存,不会去创建实例,不回去使用资源。时间换空间。
  2. 饿汉模式  :不管你用不用,应用程序初始化的时候就做初始化。调用的时候不用去判断存不存在,一定是存在的。 空间换时间


分析

懒汉模式, 非线程安全的。加载配置文件不会造成重要影响,在并发调用的时候,进行初始化。1.通过枷锁确保安全。2. 使用sync.Once

饿汉模式,不存在线程安不安全问题。


二、工厂模式


  1. 提供创建对象的方式,而无需暴露对象的具体实现
  2. 工厂模式:简单工厂、工厂方法模式


工厂模式的本质就是解耦。


工厂模式的作用


  1. 将对象的创建和使用分离,降低了耦合度,使得系统更加灵活
  2. 提高系统的可维护性和扩展性,支持增加新的产品类
  3. 有助于管理对象之间的依赖关系


工厂模式的缺点

  1. 增加了代码的复杂度和维护难度


三、策略模式


  1. 策略模式是一种行为设计模式,它定义一系列算法并将每个算法分别封装,使得算法之间可以相互替换。


应用场景

  1. 处理不同的算法,例如:多种排序算法,可按需选择合适的排序算法
  2. 实现业务规则,例如:判断用户是否满足领取优惠券的条件、计算用户积分等
  3. 避免过多的if-else,可采取策略模式来处理


四、观察者模式(订阅发布模式)


  1. 观察者模式即发布订阅模式,发布者发布一个主题,观察者订阅主题并接收更新通知


应用场景

  1. 配置信息更新
  2. 订阅/发布系统


五、适配器模式


  1. 适配器模式允许将一个类的接口转换成客户端所期望的另一种接口。通常应用于接口不兼容的情况下.


应用场景

  1. 日志适配器:将应用程序中的日志发送到不同的目标
  2. 数据库适配器:使得应用程序可以轻松切换数据库引擎同时保持api接口不变
  3. 缓存适配器:实现跨多个缓存服务商的一致性缓存API,比如 redis与memcached


六、代理模式


  1. 代理模式允许在不改变原始对象接口的前提下,通过引入一个代理对象来控制对原始对象的访问。


解决问题

主要是通过代理层来对原有的也就是我们真实的对象去做一个访问控制。或者是做一个功能增强活扩展。


特点

  1. 可以隐藏真实的对象
  2. 在不改变真实对象的前提下,对其进行扩展和功能增强


七、责任链模式


  1. 责任链模式是一种行为设计模式,用于将请求从一个对象传递到另一个对象链上,直到其中一个对象能够处理该请求。


应用场景

  1. 不确定请求处理对象的场景


注意

  1. 标准的责任链请求一旦被处理则返回,不会再被传递和处理了
  2. 可以通过该模式的变形传递处理请求
  3. 责任链模式下有可能会产生谁都无法处理的请求

总结


以上就是今天要讲的内容,本文仅仅简单介绍了常用的几种设计模式和模式使用场景

目录
相关文章
|
设计模式 算法 程序员
设计模式的概述及各个模式的功能介绍
设计模式的概述及各个模式的功能介绍
347 0
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: • 代理模式 • 适配器模式 • 装饰者模式 • 桥接模式 • 外观模式 • 组合模式 • 享元模式
925 140
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
|
设计模式 数据可视化 测试技术
设计模式概述
设计模式概述
220 1
设计模式概述
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是"将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。创建型模式分为5种:单例模式、工厂方法模式抽象工厂式、原型模式、建造者模式。
1398 2
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
|
设计模式 Java 程序员
【23种设计模式·全精解析 | 概述篇】设计模式概述、UML图、软件设计原则
本系列文章聚焦于面向对象软件设计中的设计模式,旨在帮助开发人员掌握23种经典设计模式及其应用。内容分为三大部分:第一部分介绍设计模式的概念、UML图和软件设计原则;第二部分详细讲解创建型、结构型和行为型模式,并配以代码示例;第三部分通过自定义Spring的IOC功能综合案例,展示如何将常用设计模式应用于实际项目中。通过学习这些内容,读者可以提升编程能力,提高代码的可维护性和复用性。
4099 1
【23种设计模式·全精解析 | 概述篇】设计模式概述、UML图、软件设计原则
|
存储 设计模式 算法
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: • 模板方法模式 • 策略模式 • 命令模式 • 职责链模式 • 状态模式 • 观察者模式 • 中介者模式 • 迭代器模式 • 访问者模式 • 备忘录模式 • 解释器模式
1700 1
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
|
设计模式 算法 搜索推荐
设计模式概述
设计模式是软件工程中的最佳实践,帮助开发者解决常见问题,提高代码的可重用性、可读性和可靠性。学习设计模式可以提升思维能力、标准化程序设计、增强代码质量。文章介绍了设计模式的分类(创建型、结构型、行为型)及其在流行框架中的应用,建议读者掌握SOLID原则并深入学习GoF的23种设计模式。
设计模式概述
|
设计模式 Java 开发者
设计模式概述
设计模式概述
|
设计模式 算法 Java
Java设计模式:核心概述(一)
Java设计模式:核心概述(一)
|
设计模式 安全
设计模式概述
设计模式概述
170 0

热门文章

最新文章