23 种设计模式可以分成三种类型分别是创建型、结构型、行为型
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
==========创建型=======
1.单例模式 (Singleton Pattern)
定义:确保一个类最多只有一个实例,并提供一个全局访问点
单例模式可以分为两种:预加载和懒加载
这种模式适用于需要控制资源的情况,比如数据库连接池或日志记录器。
===========行为型======
1.观察者模式(ObserverPattern)是一种行为型设计模式,定义了对象间一对多的依赖关系:当一个对象(被观察者/主题)状态发生变化时,所有依赖它的对象(观察者)都会自动收到通知并更新。该模式广泛用于事件驱动、松耦合、状态同步等场景
SpringBoot ApplicationListener观察者模式实际应用场景
业务场景描述:在很多平台订单创建成功之后,会给业务操作者发送一条短信进行提醒。
2.策略模式(Strategy Pattern)是一种行为设计模式,定义了一系列算法,并将每个算法封装起来,使它们可以互相替换。策略模式使得算法可以在不影响客户端的情况下发生变化,符合开闭原则。
场景一:支付系统中的多种支付方式
在一个电商系统中,用户可以选择多种支付方式,如信用卡支付、PayPal 支付、微信支付等。每种支付方式都有不同的处理逻辑。使用策略模式,可以将每种支付方式封装在独立的类中,并且客户端可以动态选择支付方式。