网站首页 > 精选教程 正文
目前国内80%程序员的主要工作是调用组合api实现各种业务需求,在顶层架构师设定好的框架下,做着重复且无聊的编码工作!如果未来ai被广泛应用,那么被替代的风险是很高的!比较扎心的是:其实目前用ai生成片段代码已经是各个公司比较普遍的做法了!如果普通程序员想提高避免早早退休,多了解一些设计模式是非常有必要的,不仅能提升自己的编码能力,还能够让大家感受到编码其实是挺有趣的!
注意:大家如果想更好的学习体验设计模式的应用,还是需要多了解Java编码!Javascript和Python虽然应用更加广泛,但是设计模式体验相对较弱。
设计模式介绍
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。
设计模式的分类
Java体系中总体来说设计模式共分为三大类共二十三种:
1.创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。创建型模式重点在于如何生成对象。
2.结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。结构型模式重点在于将类或对象按照某种布局组成更大的结构,关注多个类或者对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间的职责分配。
3.行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。行为型模式是对在不同的对象之间划分责任和实现算法的抽象化。行为型模式比较复杂,这十一种模式的关系如下图所示:
如果把程序比作装修的话,创建型模式描述构成零件的方式;结构型模式描述的是这些零件如何组合能构成一个小模块;行为型模式描述的是这些对象或者模块间如何优雅的相互协作完成任务,即装修修的思路。
测试开发工作中常用的设计模式
23种设计模式我就不一一举例了,我是一名测试开发工程师,在实际工作中用的最多的是以下4模式,大家可以查看相关链接阅读具体文章,先找找感觉
创建模型:单例。
一文读懂Java中的设计模式——单例模式!默认情况下,Spring的Bean就是单例的
https://blog.csdn.net/liwenxiang629/article/details/135009749
结构型模式:适配器模式。
一文读懂Java中的设计模式——适配器模式,对于兼容不同系统特别适用!
https://blog.csdn.net/liwenxiang629/article/details/135012175
行为型模式:策略(应用最为广泛)、模板方法。
一文读懂Java中应用最广泛的策略模式
https://blog.csdn.net/liwenxiang629/article/details/134989624
一文读懂Java中的设计模式——模板方法,给大家的代码添点料!
https://blog.csdn.net/liwenxiang629/article/details/134990471
我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!
猜你喜欢
- 2024-10-30 使用java开发设计六大基本原则(摘自阿里巴巴java开发规范)
- 2024-10-30 详述「设计模式」及其 Java 实现 java设计模式总结
- 2024-10-30 一起来聊聊Java里面的设计模式 java 设计模式有哪些
- 2024-10-30 Mybatis 使用的 9 种设计模式详解,看看能给你带来哪些启发?
- 2024-10-30 Java设计模式:模板方法模式、命令模式与中介者模式
- 2024-10-30 Java程序设计-类和对象(笔记) java类设计的基本原则
- 2024-10-30 java:设计模式 java设计模式及应用案例
- 2024-10-30 万字图文详解24种设计模式 设计万能模板
- 2024-10-30 Java的23种设计模式-快速入门篇 java设计模式及应用案例
- 2024-10-30 一文搞懂 JAVA 主流锁设计 java锁有哪几种
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)