面试题之你知道哪几种设计模式?简述一下

设计模式是软件开发中的经验总结,用于提升代码质量和开发效率。本文介绍了包括工厂模式、代理模式、模板模式、观察者模式、外观模式、单例模式、适配器模式、装饰模式在内的多种设计模式,并探讨了它们在实际开发中的应用。同时,还扩展讨论了行为型模式如策略模式、组合模式和状态模式等,帮助开发者在面试和实践中更好地理解和运用设计模式。
摘要由CSDN通过智能技术生成

首先搞懂:何为设计模式?

就是被反复使用,反复改进优化的一套经验。使用设计模式不仅有利于开发者在开发时思路更清晰,开发更高效,也让代码更容易被看懂。

进入正题:设计模式分类

  • 工厂模式:工厂类根据条件生成不同的子类,这些子类有一个公共的抽象父类并且实现了相同的方法,同时这些方法针对不同的数据有不同的操作,即多态方法。(当得到子类的实例后,开发人员可以调用基类中的方法而不需要考虑返回的是哪一个子类的实例)
  • 代理模式:给对象提供一个代理对象,由这个代理对象控制原对象的引用。
  • 模板(方法)模式:提供一个抽象类,将部分逻辑以具体方法或构造器的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。(比如JdbcTemplate)
  • 观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知 并被自动更新。(比如马路的红绿灯,红灯亮,汽车,轿车,卡车都要停住)
  • 外观(门面)模式:为子系统中的一组接口提供一个一致的界面(比如电话客服就可以是一个这个门面,他是消费者和商家和快递公司的接口,消费者直接联系客服就可以了)
  • 单例模式:保证一个类只有一个实例(Spring中bean的作用域默认就是单例的(Singleton))
  • 适配器模式:把一个类的接口变成客户端所期待的另一种接口,使得原本因接口不匹配而无法在一起使用的类能够一起工作(生活中生活用电220V和笔记本电脑20V不兼容时,我们需
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值