前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试最常问的设计模式(二)单例模式/工厂模式/代理模式

面试最常问的设计模式(二)单例模式/工厂模式/代理模式

作者头像
鳄鱼儿
发布2024-05-22 09:03:38
890
发布2024-05-22 09:03:38
举报

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第18天,点击查看活动详情

适配器模式

适配器是一个转换器,将类的接口转换成另一种兼容的接口,解决了两个对象之间不兼容导致无法调用问题。适配器有三种模式,类适配器、对象适配器、接口适配器。

在实际开发中,比如登陆业务,最初设计是login方法中判断账户密码是否正确的方式登陆。后来需要使用短信验证的方式登陆,就需要继承原来的登陆类,重写login方法。再后来需要使用微信登陆,也是同样方法进行修改。

模板方法模式

定义一个操作的模版父类,而将一些代码步骤扩展在子类中。模版方法使得子类可以不改变一个算法的结构来重定义该算法。

在代码开发中,常常会出现很多逻辑相似的地方,而这会导致很多重复的代码,后期需要更改层次高的逻辑,那么所涉及到该逻辑的业务代码都需要进行更改。利用模版方法模式,就可以将代码中相同逻辑的过程抽象成一个抽象类,完全同样的代码可以使用具体方法,而代码不一样的地方则抽象为抽象方法。在扩展该相同逻辑业务代码时,只需要继承该抽象类,再实现其抽象方法。

实际开发中的应用场景很多都使用了模版方法模式,如数据库访问的封装、Junit单元测试、servlet中关于doGet/doPost方法的调用等。

观察者模式

观察者模式又称为发布-订阅模式,定义了对象之间一种一对多的依赖关系,使得一个对象改变状态,则所有依赖它的对象都会得到通知并主动更新。

观察者模式主要用于1对N的通知中,当一个对象状态变化,其他对象会收到通知,并作出相应的变动。实现方式有两种,推和拉。

  • 推方式,每次变动都会以广播的方式发送给所有观察者,所有观察者只能被动接收
  • 拉方式,观察者只要知道有情况变动即可,至于什么时候获取,以及获取什么内容可以自己决定。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 适配器模式
  • 模板方法模式
  • 观察者模式
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档