我想问一下你大脑其实很恐怖的出现的恐怖东西你知道是什么吗能加个微信聊聊吗

 每个人面试时都需要些干货来帮助自己拿到自己满意的薪资当面试官想了解你的java技术水平,那是必问设计模式设计模式就相当于,一个人写代码的水平一个人代码嘚好与烂,从对设计模式的理解就可以体现出而作为java的业界标杆spring,就自然作为面试官询问这个问题的切入点一方面可以看下你spring的源码能力,另一方面也可以考察一下你自己的代码水平能力而如果你答的不咋地,那么就会等到一句话“回去等通知吧”!那么下面我来告诉你,spring中我看到了那些设计模式以及具体源码位置。

 工厂模式分为三种简单工厂模式,工厂方法抽象工厂。这里我也简单介绍一丅工厂顾名思义,就是生产某类东西的而对应到java代码里面那就是生成对象几种方式,原先我们生成对象的方式都是我们自己亲力亲为new一下一个女朋友出来了,什么事都得亲力亲为这样就会很累而如果你将找女朋友这事委托给媒婆(这里指的就是工厂)由他去帮你搞,那么你不是就省事很多那在代码里面的意思就是进行解耦,提升代码的可维护性spring IOC的思想也不就是如此,你不用自己干(创建bean)我幫你送上门(你要什么调一下我的getBean方法,我给你送到)省时省力。好了下面我介绍一下spring什么地方用到了它

单例模式简单来说就是创建┅个bean,来提供一个全局访问点如下图在这类中加beanFactory,在这个类中,然后环境初始化创建beanFactory后面整个环境就是这个一个beanFactory,springbean的默认创建也是单例模式创建一个对象后保存起来,提供一个访问点供你去获取它。这种模式很简单设计的原理就是为了节约资源,进行复用单例的幾种模式什么懒汉式,DCL之类的都是为了创建一个对象然后用一个静态变量去提供一个全局访问点。

 Spring的AOP面向切面编程不都是运用代码模式進行对目标方法的包装这个很常见,基本只要是个框架都有这种模式代理模式就不在多说了,也比较简单

AbstractApplicationContext提供的Refresh方法中不就是个模板,我主体框架已经写好了就是那么7,8个方法调用来实现我SpringContext的创建,里面有些方法我不实现扩展给你去实现。这个设计模式的思想就是公司嘚架构师提供给你搭一个架子你就在我这个架子下去具体看怎么做,这也是Spring框架极具扩展性的一点可以让我们用户根据自己的需求去萣制自己的东西。这种模式也就不再多说很常见没什么。

在Spring中以Adapter结尾的类应用的都是适配器模式简单来说这种模式就是适配器类完成被适配类的动作,并在适配器类中完成一些其他动作Spring的AOP的MethodInteptor的那些什么前置拦截,不就是在代理模式的基础上在通知层面在对方法进行┅层包装。其实最典型的也就是springMVC,doDispatch中对目标方法的调用中与代理模式的不同个人觉得也就是方法名字层面了。

Spring中在bean的创建过程中如下代碼通过传哪一种ObjectFactory的形式去完成实例的创建,这就是一个典型的策略模式通过哪种工厂bean去创造对象,里面也是一种工厂方法spring也是靠他解決循坏依赖的问题。

Spring的事件监听机制不就是发布一个事件类型,然后去拿到对应的事件监听器然后循环去调用监听器的方法,去完成動作这个模式的思想就是发布方维护订阅方的信息,当发布方有事的时候循环调用订阅方的方法去通知订阅方,这也是消息中间件的主要模式这个模式也很简单。

 这种模式在Spring中的应用也就是为数据源这个类提供多数据源切换的一个功能。这种模式也没什么说的就昰很简单对目标方法的包装,附属一些其他功能

}

如果没有很久你就找了下一个

他佷可能是误会你先劈腿才找的下一个

}
 
 //判断元素为显示还是隐藏并做相應操作
 
 
 //判断元素为显示还是隐藏并做相应操作
 
}

我要回帖

更多关于 大脑其实很恐怖的 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信