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

【通识】设计模式

1. 基础概念

设计模式是反复使用的、多数人知晓的、经过分类编写目的、代码设计经验的总价。使用是为了重用代码,让代码更容易被理解、保证可靠性。设计模式是多赢的,能使代码编制真正工程化,设计模式是软件工程的基石。
在这里插入图片描述
而序号和包括相关如下
在这里插入图片描述
在这里插入图片描述

1)设计模式间的关系包括以下
在这里插入图片描述
2)设计模式的六大原则
a. 开闭原则Open Close Principle:对扩展开放对修改关闭。在程序需要扩展的时候不去修改原有代码实现一个热插拔。
b. 里氏代换Liskov Substitution Principle:面向对象设计的基本原则之一。该原则提到,任何基类可以出现的地方,子类一定可以出现。LSP是继承复用的基石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类能在基类的基础上增加新的行为。里氏代换原则则是对开闭原则的补充。实现开闭原则的关键步骤是抽象化,而基类和子类的继承关系是抽象化的具体实现,里氏代换原则则对实现抽象化的具体步骤的规范。
c. 依赖倒转Dependence Inversion Principle:针对接口编程依赖抽象而不依赖于具体
d. 接口隔离Interface Segregation Principle:使用多个隔离的接口比单个接口要好,还能降低类间的耦合度,降低依赖和耦合
e. 迪米特/最少知道原则Demeter Principle:一个实体应尽量少地与其他实体间发生相互作用,使系统功能模块相对独立
f. 合成复用原则Composite Reuse Principle:尽量使用合成/聚合的方式而非使用继承

1.1 工厂模式(Factory Pattern)

是Java中常用的设计模式之一,提供了创建对象的方式,使创建对象的过程和使用对象的过程分离。

类型概念
简单工厂模式(Simple Factory Pattern)简单工厂模式不是一个正式的设计模式,但它是工厂模式的基础。它使用一个单独的工厂类来创建不同的对象,根据传入的参数决定创建哪种类型的对象
工厂方法模式(Factory Method Pattern)工厂方法模式定义了一个创建对象的接口,但由子类决定实例化哪个类。工厂方法将对象的创建延迟到子类。
抽象工厂(Abstract Factory Pattern)抽象工厂模式提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。
  1. 概要:定义一个创建对象的接口让
http://www.xdnf.cn/news/16403.html

相关文章:

  • Ashampoo Background Remover(照片去背景工具) v2.0.2 免费版
  • MyBatis-Plus IService 接口全量方法实现与测试(续)
  • 【Python系列】从内存分析到性能剖析
  • 【c++】从 “勉强能用” 到 “真正好用”:中文问答系统的 200 行关键优化——关于我用AI编写了一个聊天机器人……(16)
  • HBuilder X打包发布微信小程序
  • 详解力扣高频SQL50题之180. 连续出现的数字【困难】
  • Product Hunt 每日热榜 | 2025-07-27
  • 如何思考一个动态规划问题需要几个状态?
  • J2EE模式---服务层模式
  • springboot基于Java与MySQL库的健身俱乐部管理系统设计与实现
  • 【前后端】node mock.js+json-server
  • vscode找不到python解释器的解决方案
  • listen() 函数详解
  • Petalinux驱动开发
  • 多智能体系统设计:协作、竞争与涌现行为
  • 零基础学习性能测试第六章:性能难点-Jmeter实现海量用户压测
  • 【奔跑吧!Linux 内核(第二版)】第5章:内核模块
  • 关于“PromptPilot” 之2 -目标系统:Prompt构造器
  • Linux c网络专栏第三章DPDK
  • Rust与Java DynamoDB、MySQL CRM、tokio-pg、SVM、Custors实战指南
  • UV: 下一代 Python 包管理工具
  • Unity 实时 CPU 使用率监控
  • 前缀和-560.和为k的子数组-力扣(LeetCode)
  • XFile 系统架构设计文档
  • iOS安全和逆向系列教程 第20篇:Objective-C运行时机制深度解析与Hook技术
  • 七、搭建springCloudAlibaba2021.1版本分布式微服务-skywalking9.0链路追踪
  • 前端基础班学习路线
  • GPGPU基本概念
  • PiscCode实现从图像到字符艺术
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现PCB上二维码检测识别(C#代码UI界面版)