常见的设计模式有哪些?实际开发中你用了什么设计模式?

对于设计模式,相信大多数人都有了解,或为了面试,或为了实际开发,但是对于大多数人来说,实际开发中,真正用设计模式的地方,少之又少。最主要的原因,还是因为我们对设计模式并未真正的理解。那么,如何理解设计模式呢?

设计模式就是那些大佬经验设计的总结(情境中遇到问题而经过证实的一个解决方案)。针对某些特定的场景,去使用特定的设计模式,能让代码更简洁,也可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式有23种,总体来说,设计模式分为三大类:

创建型模式(五种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式

结构型模式(七种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式

行为型模式(十一种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式

以上标红的设计模式,是需要我们特别掌握的,面试最容易问到。那么,实际开发过程中,你用了什么设计模式呢?

1)实际开发中,我使用了单例模式,比如系统要求一个对象只能产生一次,比如设计一个单例类,负责所有数据表的映射处理。

意图(核心):保证一个类仅有一个实例,并提供一个访问该实例的全局访问点。

主要解决:一个全局使用的类频繁地创建与销毁。

何时使用:当您想控制实例数目,节省系统资源的时候。

如何解决:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。

关键代码:构造函数是私有的。

常见应用场景:
1)在项目种加载配置文件的类,一般也只是一个对象,没有必要重复加载。

2)项目中的数据库连接池,一般也是单例模式。

3)Spring中的每个bean默认也是单例,优点是方便Spring容器管理。

4)Springmvc中,控制器对象也是单例。

5)在Servlet编程中,每个servlet也是单例。

6)

优点:单例模式只生成一个实例,减少了系统开销。

 




 

 

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java 最常用的设计模式主要有以下几种: 1. 单例模式:用于确保一个类只有一个实例,并且提供一个全局访问点。适用于需要全局控制某个资源或服务的场景。 2. 工厂模式:用于创建对象,提供一个统一的接口来创建对象,而不需要直接调用其构造函数。适用于需要动态创建对象的场景。 3. 观察者模式:用于一对多的对象依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都会得到通知。适用于需要实现对象间松耦合的场景。 4. 装饰器模式:用于动态地给一个对象添加一些额外的职责,而不需要修改其实现。适用于需要扩展对象功能,但又不想影响其原始实现的场景。 5. 策略模式:用于定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。适用于需要在运行时动态地选择算法的场景。 6. 适配器模式:用于将一个类的接口转换成客户端所期望的另一个接口,从而使原本不兼容的类可以协同工作。适用于需要让不兼容的接口协同工作的场景。 7. 模板方法模式:用于定义一组算法的骨架,并将一些步骤延迟到子类实现。适用于需要在不同的子类实现相同的算法流程的场景。 总之,不同的设计模式适用于不同的场景,需要根据具体需求来选择使用。在实际开发,合理地应用设计模式可以提高代码的可读性、可维护性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值