加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

从 JDK 中,我们能学到哪些设计模式?

发布时间:2019-04-24 22:31:59 所属栏目:建站 来源:肥朝
导读:结构性模式: 适配器模式: 常用于将一个新接口适配旧接口 肥朝小声逼逼:在我们业务代码中经常有新旧接口适配需求,可以采用该模式。 桥接模式: 将抽象和抽象的具体实现进行解耦,这样可以使得抽象和抽象的具体实现可以独立进行变化。 肥朝小声逼逼:这

使得类的实例能够生成自身的拷贝。如果创建一个对象的实例非常复杂且耗时时,就可以使用这种模式,而不重新创建一个新的实例,你可以拷贝一个对象并直接修改它。

肥朝小声逼逼:这个你以为是冷门的设计模式,其实错了,这个是大热门的设计模式。比如我们业务代码,经常要各种DTO、BO、DO、VO转换,其实就可以参考原型设计模式的思想来做。

单例模式

用来确保类只有一个实例。Joshua Bloch在Effetive Java中建议到,还有一种方法就是使用枚举。

肥朝小声逼逼:在平时开发中,单例是我们用得最多的了,因为Spring的bean,默认就是单例级别的。单例属于大家基本都会的设计模式。

行为模式

责任链

通过把请求从一个对象传递到链条中下一个对象的方式来解除对象之间的耦合,直到请求被处理完毕。链中的对象是同一接口或抽象类的不同实现。

肥朝小声逼逼:凡是带有 Filter 关键词的,基本都在用这个设计模式。在业务代码使用的场景实在是太多了,用到拦截器的地方基本都在用这个设计模式。

命令模式

将命令包装在对象中,以便可以将其存储,传递到方法中,并像任何其他对象一样返回。

肥朝小声逼逼:命令模式使用频率较高,和策略模式比较像,具体区别可以搜索一下。如果用过 Activiti 工作流引擎的朋友可以看一下里面的源码,很多地方都用到了命令模式。

解释器模式

此模式通常描述为该语言定义语法并使用该语法来解释该格式的语句。(This pattern generally describes defining a grammar for that language and using that grammar to interpret statements in that format.)

肥朝小声逼逼:这个比较冷门,肥朝没怎么用过,你用过的话可以留言告诉肥朝。

迭代器模式

提供一个统一的方式来访问集合中的对象。

肥朝小声逼逼:这个中间件和基础框架组的同学可能用得比较多,业务代码的话用得不多,不过JDK中的这种使用很经典,可以看看。

中介者模式

通过使用一个中间对象来进行消息分发以及减少类之间的直接依赖。

肥朝小声逼逼:看到这个描述不用我多说什么,业务代码使用的场景太多了。比如你们用MQ,其实就是在用中介者模式。所以肥朝一再强调,即使是每天CRUD,关注肥朝一起学习,也能给你的CRUD项目,加上美颜+滤镜(设计模式)的加强效果。

备忘录模式

生成对象状态的一个快照,以便对象可以恢复原始状态而不用暴露自身的内容。比如Date对象通过自身内部的一个long值来实现备忘录模式。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读