java 23中设计模式认识及自我理解

本文详细介绍了Java的23种设计模式,包括创建者模式、结构型模式和行为型模式。从工厂模式到解释器模式,作者结合实际案例解释了每种模式的概念、应用场景和优缺点。文章还提及了设计模式在实际编程中的应用,如Spring框架中的IoC容器利用了工厂模式,单例模式在多线程环境下的实现,以及装饰模式在IO流中的使用。此外,文章提供了面试中常见的设计模式问题,如单例模式的编程过程和工厂模式的好处。
摘要由CSDN通过智能技术生成

前段时间看到一篇关于java23种设计模式的博文讲解,讲的蛮不错的,也有案例,之前也有看过设计模式的书,但没有细读,也没有记录下来。总感觉不是自己的东西,所以这里终于下定决心细细研究一番。其实,最终读完发现虽然不知道前人总结的设计模式名字,但是在实际编码中其实已经用到了很多。这也说明了设计模式是总结出来的经验,不用刻意使用,当有这方面需求的时候,我们自然而然就想到了,当然了这也需要见过和写过很多代码。
理解和使用:1单例模式:在spring容器创建bean默认是单例模式!2工厂模式:不同的实例化类赋值给同一接口!3,抽象工厂模式:一组工厂模式的集合!4建造者模式:对象set属性时返回它的自身对象。实现连续创建对象。如java糖中maputils.build.put().put()就用到了。
5享元模式:创建好对象在集合中,根据key取值!在分库的项目中,就是把连接库的对象放到集合中根据库名取。这些对象一般是静态的!
6外观模式:springmvc的每一层都是就是外观模式,如一个controller控制层类引入了很多个service层类,进而实现很多业务功能,而对外只暴露一个类。那这就是外观
7. 适配器模式:没找到想到工作中使用的例子。说下大概思路!当同一业务对接不同的外部数据源,返回的结果不同时,如字段不一样。我们需要统一字段,就可以建一个接口,不同外部数据源处理类分别实现这个接口再返回这个统一的格式就好了。网上流行的是220v,180v的电压经过适配器后变成我们的5v电压
8. 装饰者模式:在原代码不变的情况下,做出修改,有些aop的意思。实现过程如下,原方法所在的类a要实现一个接口,这个方法也是接口里面的。创建一个抽象装饰者类,也实现这个接口并且接口是这个装饰者类的一个属性。接着我们再创建个要具体装饰的类集成抽象装饰者类,这个类也要实现原始接口中的方法
9. 模板方法模式:在抽象类中定义一个非抽象方法和一个抽象方法。并在非抽象方法中调用抽象方法。而抽象方法的具体实现则由子类实现。
10.观察者模式:创建一个观察者接口和几个具体的观察者,并有个抽象方法。再创建一个主题类,并把抽象接口类放入集合中,作为主题类的一个属性,然后创建一个具体方法作为广播的入口,遍历更新所有观察者。

这里是引用 https://www.jianshu.com/p/5bdb76933cd4

先介绍个 开闭原则:对扩展开放,对修改关闭。 原则目的是在不修改原代码的情况下,可以扩展新代码,满足新需求。就测试而言,原代码没有变就不要重复测试,只测新增代码即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老马识途2.0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值