设计模式-初步认识

目录

🛻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.行为型模式

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

相关推荐
Joe_Wang56 分钟前
【从0到1学习JVM · 15】对象在堆里来回倒腾,究竟怎样才会进老年代?
java·jvm·学习·垃圾回收
程序猿阿越10 分钟前
containerd如何拉取镜像
后端·kubernetes·源码阅读
一条小小yu19 分钟前
为什么使用springboot
java·spring boot·后端
Elastic 中国社区官方博客26 分钟前
Kubernetes attributes processor v1:它对 EDOT Collector 意味着什么
java·大数据·elasticsearch·搜索引擎·贪心算法·kubernetes·全文检索
Sarvartha32 分钟前
对象创建与引用
java·开发语言
香瓜子rd42 分钟前
MySQL InnoDB 并发控制核心原理:事务、隔离级别、MVCC 与锁机制
数据库·后端
RISCV_Explorer1 小时前
RISC-V RVV向量编程模型机制解析——vsetvl配置、掩码与尾元素策略及长度无关编程
后端·risc-v
对象存储与RustFS1 小时前
升级 RustFS 二进制不停机:一条一条换,留一条退路
后端·rust·开源
hasty1 小时前
限制写了却没生效:OpenTelemetry Go 的 Unicode 截断边界
开发语言·后端·golang
大侠归来1 小时前
C语言与C++在基础语法上的区别
java·c语言·c++