Spring中的设计模式-YL2020.05

Spring中涉及的设计模式总结,我做了简单的总结。 参考Spring中涉及的设计模式总结 ,感谢作者分享。

1.简单工厂
        实现方式:BeanFactory
2.工厂方法
        实现方式:FactoryBean接口
         返回的不是factory这个bean,而是这个bean.getOjbect()方法的返回值
3.单例模式
        spring依赖注入bean实例,默认是单例的。
        单例模式定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
        spring对单例的实现:spring中的单例模式完成了后半句话,即提供了全局的访问点BeanFactory。
            但没有从构造器级别去控制单例,这是因为spring管理的是任意的java对象。
4.适配器模式
        实现方式:SpringMVC中的适配器HandlerAdatper。
            HandlerAdatper根据Handler规则执行不同的Handler。
5.装饰者模式
        实现方式:spring中用到包装器模式在类名上有两种表现:一种类名中含有Wrapper,
                                                            另一种类名中含有Decorator
        实质:1.动态的给一个对象添加一些额外的职责。
              2.就增加功能来说,Decorator模式相比生成子类更为灵活。
        疑问:https://www.cnblogs.com/alomsc/p/12580350.html
            Q:这个里面的内容,跟代理比较一下看看区别吧???
            A:JDK动态代理 对“装饰者”设计模式 简化。使用前提:必须有接口
6.代理模式
        实现方式:AOP底层,就是动态代理模式的实现。 
            1.动态代理:在内存中构建的,不需要手动编写代理类
            2.静态代理:需要手工编写代理类,代理类引用被代理对象。
7.观察者模式
        实现方式:spring的事件驱动模型
        具体实现:事件机制的实现需要三个部分:        事件源、                事件、                    事件监听器
                                            ApplicationContext接口    ApplicationEvent抽象类   ApplicationListener接口
                  补充一个事件广播器:ApplicationEventMulticaster抽象类
                  代码实现可以分为两种:接口 、 注解
8.策略模式
        实现方式:spring框架的资源访问Resource接口。
            1.resource接口本身没有提供访问任何底层资源的实现逻辑,针对不同的底层资源,spring将会提供不同的resource实现类,
                    不同的实现类负责不同的资源访问逻辑。
            2.spring为Resource接口提供了如下实现类:
                UrlResource
                ClassPathResource
                FileSystemResource
                ServletContextResource
                InputStreamResource
                ByteArrayResource
9.模板方法模式
        实质:是模板方法模式和回调模式的结合,是Template Method不需要继承的另一种实现方式。Spring几乎所有的外接扩展都采用这种模式。
        具体实现:JDBC的抽象和对Hibernate的集成,都采用了一种理念或者处理方式,那就是模板方法模式与相应的Callback接口相结合。
        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值