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

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

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

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

结构性模式:

适配器模式:

常用于将一个新接口适配旧接口

肥朝小声逼逼:在我们业务代码中经常有新旧接口适配需求,可以采用该模式。

桥接模式:

将抽象和抽象的具体实现进行解耦,这样可以使得抽象和抽象的具体实现可以独立进行变化。

肥朝小声逼逼:这个模式,其实我们每天都在用到,但是你可能却浑然不知。只要你用到面向接口编程,其实都是在用桥接模式。

组合模式

让客户端看起来在处理单个对象和对象的组合是平等的,换句话说,某个类型的方法同时也接受自身类型作为参数。(So in other words methods on a type accepting the same type)

肥朝小声逼逼:从上面那句英文我们就可以得知,组合模式常用于递归操作的优化上,比如每个公司都有个boss系统,都会有什么菜单的功能。比如一级菜单下有二级菜单,二级菜单又有三级菜单。删除一级菜单的时候需要不断删除子菜单,那么这个设计模式你可以试试。总之,凡是有级联操作的,你都可以尝试这个设计模式。

装饰者模式

动态的给一个对象附加额外的功能,因此它也是子类化的一种替代方法。该设计模式在JDK中广泛运用,以下只是列举一小部分

肥朝小声逼逼:这个模式使用就太广了,我们常用的AOP,既有动态代理,也有装饰者的味道。

门面模式

为一组组件,接口,抽象或子系统提供简化的接口。

肥朝小声逼逼:我们每天使用的SLFJ日志就是门面日志,比如我们使用Dubbo,向外提供的服务就尽量采用门面模式,然后服务在调用各种service做聚合。

享元模式

使用缓存来减少对小对象的访问时间

肥朝小声逼逼:只要用到了缓存,基本都是在使用享元模式。很多同学都说自己的项目太low了,都没有用到什么设计模式,这不是开玩笑吗,你用个map缓存几个对象,基本上都运用了享元的思想。

代理模式

代理模式用于向较简单的对象代替创建复杂或耗时的对象。

肥朝小声逼逼:代理模式用得很广泛,基本所有大家知道的开源框架,都用到了动态代理。

创建模式

抽象工厂模式

抽象工厂模式提供了一个协议来生成一系列的相关或者独立的对象,而不用指定具体对象的类型。它使得应用程序能够和使用的框架的具体实现进行解耦。在JDK和许多开源框架,比如Spring中随处可见,它们很容易被发现。任何用于创建对象但返回接口或抽象类的,就是抽象工厂模式了。(any method that is used to create an object but still returns a interface or abstract class)

肥朝小声逼逼:从英文就可以得出,该模式可以与策略模式结合使用。

建造者模式

用于通过定义一个类来简化复杂对象的创建,该类的目的是构建另一个类的实例。构建器模式还允许实现Fluent接口。

肥朝小声逼逼:这个在我们业务代码中使用的场景太广泛了。比如订单系统大部分项目都有,订单对象就是一个复杂对象,我们就可以采用建造者模式来做。

工厂方法

只是一个返回实际类型的方法。

肥朝小声逼逼:这个属于大家都会的设计模式,不多过介绍。

原型模式

(编辑:核心网)

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

热点阅读