Spring中用到的一些设计模式
单例模式:bean默认就是单例
原型模式:指定作用域为prototype
工厂模式:BeanFactory
模板方法:postProcessBeanFactory, onRefresh, initPropertyValue
策略模式: xmlBeanDefinitionReader,PropertiesBeanDefinitionReader
观察者模式: listener, event, multicast
适配器模式: Adapter
装饰器模式: BeanWraper,主要作用是完成bean的属性填充
责任链模式: 使用AOP的时候会先生成一个拦截器链
代理模式:动态代理
委托者模式:delegate
其中,
模板方法和策略模式在表现上比较类似,都是相互之间可以替换
模板方法:在父类中已经定义好了一个算法的框架,允许子类来实现一系列步骤中的特定的一些步骤
策略模式:定义了一组算法,每个算法都被封装,这些算法相互之间可以替换
装饰器模式和代理模式在表现上也有一些类似,都是在一个类实例中持有另一个类实例,两个类具有相同的接口,方法内部会进行调用持有实例的方法
装饰器模式:强调对自身业务功能的扩展和增强,装饰器类和原类是可以相互替换的
代理模式:强调对非业务功能的扩展和增强,强调隐藏原实现,强调的是一个功能的调用,通过代理类来间接调用
分类:
Spring相关
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战