Java设计模式 | 面试必备自用总结

本文介绍了四种经典的设计模式:策略模式,通过封装方法实现高内聚低耦合;代理模式,用于创建代理对象以隐藏实际操作;单例模式,确保类只有一个实例;多例模式,限制实例数量。这些模式有助于系统扩展和管理复杂性。
摘要由CSDN通过智能技术生成

* 本文内容由《我们的设计模式》这本书总结而来,方便自己理解。

策略模式

“诸葛亮给了赵云一个锦囊,锦囊中有三个妙计。”

方法存放在策略类中,使用者只需要打开锦囊调用中间的方法即可。

特点:高内聚,低耦合,方便扩展

代理模式

西门庆和潘金莲幕后还有个王婆。

表面上是王婆和西门庆勾搭,实际上王婆只是个中间人,背后主事的是潘金莲。除了潘金莲,王婆这个代理人还可以代理其他被代理对象。

特点:代理人和被代理人实现同一个接口,代理人的具体实现由被代理人完成。

单例模式

只有唯一的一个特定的皇帝。

如果没有皇帝就创建一个皇帝,如果有皇帝就是之前的那个皇帝。反正只能有一个唯一的皇帝。

在创建类的时候就new一个皇帝出来给成员变量,如果需要皇帝就用类中的这个皇帝。

多例模式

一个时期有俩皇帝,随便拉一个皇帝就行。

这里只讲有上限的多例模式。我们需要找到所有的实现,将他们列出来。如果已经达到上限了就不能继续创建皇帝。

 在使用时随便拉一个实例就行。

简单工厂模式

女娲造人,什么人种都可以。

定义人类接口的属性和方法,定义这个接口的具体实现(人种)。剩下要做的就是通过女娲这个机器造人。

抽象工厂模式

不同性别不同人种。

  • 一个接口:人类
  • 不同的抽象类:人种 -- 产品等级
  • 不同的实现:不同性别的人种 -- 产品族

接下来工厂进行造人就要分两个流水线,一个流水线造男性,一个流水线造女性。

门面模式

把固定动作封装起来。

假设有一个寄出信件的过程,在原来我们需要写信 - 把信装进信封 - 写信封 - 投递,如果需要多次重复显然是很麻烦的。

而如果使用了门面模式,我们就可以把中间固定的动作封装起来,我们只需要提供必要的信的内容和信封内容,其他动作都交给一个方法帮助实现,如果后续需要对这些步骤进行扩展,也只需要在方法中添加步骤即可。

这是一个很好用的封装方法,如果一个子系统比较复杂,就可以封装出一个或多个门面出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云釉。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值