设计模式-初步认识

目录

🛻1.什么是设计模式

🚚2.设计模式的优点

🚍3.设计模式6大原则

🛴4.设计模式类型


1.什么是设计模式

  • 设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。
  • 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。
  • 这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

2.设计模式的优点

  • 提供了一种共享的设计词汇和概念,使开发人员更好地沟通和理解彼此的设计意图。
  • 提供了经过验证的解决方案,可以提高软件的可维护性、可复用性和灵活性。
  • 促进了代码的重用,避免了重复的设计和实现。
  • 通过遵循设计模式,可以减少系统中的错误和问题,提高代码质量。

3.设计模式6大原则

  • 1.单一职责原则**:**一个类只负责一个功能领域中的相应职责,是实现高内聚、低耦合的指导的方针
    • **高内聚:**尽可能类的每个成员方法只完成一件事,模块内部的代码,相互之间的联系越强,内聚就越高,模块的独立性就越好
    • **低耦合:**减少类内部,一个成员方法调用另一个成员方法,不要有牵一发动全身
  • **2.开闭原则:**对扩展开放,对修改关闭,拓展的时候,不修改原有的代码
  • **3.里氏替换原则LSP:**任何基类可以出现的地方,子类一定可以出现;在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象
  • **4.依赖倒转原则:**高层模块不应该依赖低层模块,二者都应该依赖其抽象
  • **5.接口隔离原则:**使用多个隔离的接口,降低类之间的耦合度
  • **6.迪米特法则(最少知道原则):**一个实体应当尽量少地与其他实体之间发生相互作用,一个处在松耦合中的类一旦被修改,不会对关联的类造成太大波及

将六大原则的英文首字母拼在一起就是SOLID (稳定的) ,所以也称之为SOLID原则

4.设计模式类型

  • 1.创建型模式:**工厂模式、抽象工厂模式、单例模式、建造者模式、**原型模式
  • 2.结构型模式 :**适配器模式、桥接模式、装饰器模式、代理模式、**组合模式、外观模式、享元模式
  • 3.行为型模式 :**责任链模式、迭代器模式、观察者模式、状态模式、策略模式、模板模式、**备忘录模式、命令模式、访问者模式、中介者模式、解释器模式

4.1.创建型模式

提供了一种在创建对象的同时隐藏创建逻辑的方式,使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活

4.2.结构型模式

这些模式关注对象之间的组合和关系,旨在解决如何构建灵活且可复用的类和对象结构。

4.3.行为型模式

这些模式关注对象之间的通信和交互,旨在解决对象之间的责任分配和算法的封装。

相关推荐
Alice-YUE5 小时前
提示词工程:工业级 Prompt 写法与分层组装
java·开发语言·大模型·prompt·提示词工程·system prompt
泡茶喝茶写代码5 小时前
A股量化数据工程:从 REST 接口到策略信号(第 4 篇):行业与概念板块树构建
java·python·股票数据api·股票数据·股票数据api接口·股票api数据接口·股票量化数据api
弹简特5 小时前
【Java项目-企悦抽】17-抽奖模块02-抽奖接口实现
java·开发语言·状态模式·springboot
吴声子夜歌6 小时前
Nginx应用与运维——Nginx编译及部署(部署)
java·运维·nginx
乌暮6 小时前
JVM 原理与实践:从运行时数据区到线上故障排查
java·开发语言·jvm·后端·学习·面试
网腾无限6 小时前
优尼沃OS工程手记:从单体架构到主权智能体集群的改造总结
后端
code2cat6 小时前
【随笔】MCP缓存期限与共享范围:让Agent复用资料时记住边界
java·后端·缓存·ai agent·mcp
llqbzllll6 小时前
线程池里的“幽灵数据”:ThreadLocal 用完不 remove,为什么下个请求还能看到?
后端
量化分析码农6 小时前
【Python量化系统工程实战 #02】每天手动拉数据太烦?用 APScheduler 搭一条「自动采集 + 增量去重」的流水线
后端
路弥行至7 小时前
【Head First 设计模式】第 2 章:观察者模式 —— 用现代 C++ 重新解读“交互对象的松耦合
c++·经验分享·笔记·观察者模式·设计模式·入门教程·headfirst