设计模式概述

什么是设计模式?

简言之设计模式是在软件设计、开发中经常出现的问题的通用解决方案。它们是针对特定情境下常见问题的一种解决方案的描述。设计模式不是可以直接转化为代码的完整设计,而是提供了解决问题的思路、方法或模板。

为什么要用设计模式?

设计模式的主要目的是提高代码的可重用性、可读性和可维护性。通过使用设计模式,我们开发人员可以更容易地理解代码,从而更容易地进行扩展和维护,最主要是逼格高。

设计模式的使用场景

设计模式通常在特定的情境下使用,例如在需要创建多个相似对象的情况下可以使用工厂模式,需要处理对象之间的复杂关系时可以使用组合模式,需要确保一个类只有一个实例时可以使用单例模式等等。

设计模式的定义

设计模式的定义可以简单地描述为:设计模式是解决特定类型问题的经验总结,它提供了在特定情境下解决问题的一种通用方法。

设计模式的六大原则

复制代码
1.开放封闭原则(Open Closed Principle,OCP):软件实体(类、模块、函数等等)应该可以扩展,但是不可以修改。
2.里氏替换原则(Liskov Substitution Principle,LSP):子类型必须能够替换掉它们的父类型。
3.依赖倒置原则(Dependency Inversion Principle,DIP):高层模块不应该依赖于低层模块,二者都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。
4.接口隔离原则(Interface Segregation Principle,ISP):一个类对另一个类的依赖应该建立在最小的接口上。
5.迪米特法则(Demeter Principle,DP)也叫最少知道原则:最少知道原则是指:一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。
6.合成复用原则(Composite Reuse Principle,CRP):尽量使用合成/聚合,而不是继承来达到复用的目的。

设计模式适用什么情况,什么情况不适用?

设计模式通常在以下情况下使用:

复制代码
1.当需要解决特定类型的问题并且该问题在软件开发中常见时。
2.当需要提高代码的可读性、可维护性和可重用性时。
3.当需要在不修改现有代码的情况下添加新功能或修改功能时。
4.当需要在团队中促进一致的设计和实现方式时。

设计模式可能不适合以下情况:

复制代码
1.当问题的复杂性不足以证明使用设计模式是合理的。
2.当项目时间紧迫,无法承担引入设计模式所需的额外开销时。
3.当设计模式导致代码变得过于复杂或难以理解时,特别是在小型项目或简单功能的情况下。
相关推荐
微三云 - 廖会灵 (私域系统开发)6 小时前
存量社区破局:当物业困局遇上消费返物业费,重构社区商业新生态
大数据·人工智能·重构
qfljg9 小时前
OpenRewrite 实战指南
java
Sylvia33.9 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
2601_9620715714 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
zww894911114 小时前
酒馆预约系统开发实战:从需求分析到上线全流程指南
java·eclipse
智购科技自动贩卖机16 小时前
自动售货机嵌入式状态机设计实战:从45个事件源到层次型状态机的工程重构
大数据·人工智能·stm32·物联网·重构·硬件架构
zww894911117 小时前
匿名树洞系统开发实战:从需求分析到部署指南
java·eclipse
黑马程序员毕设18 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
木井巳18 小时前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
白山编程大哥19 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法