设计模式
文章平均质量分 64
spring中的设计模式的应用
阿~呆
丙辰中秋,欢饮达旦,大醉,作此篇,兼怀子由
展开
-
优雅的单列模式
单列模式是java最常用的设计模式之一,可以降低资源开销,属于创建型设计模式,是一种最佳的创建对象的方式单列模式的特点1、单列类只能有一个实例2、单列类必须自己创建自己的唯一实例3、单列模式必须对外提供一个方法获取自己的实例单列模式的有点1、在内存中占有一个实例,减少内存的开销,尤其是频繁创建和销毁的实例2、避免对资源的多重占用(比如写文件的操作)单列模式的应用场景1、网站计数器2、应用程序的日志应用3、数据库连接池4、多线程的线程池设计饿汉式 //创建 SingleMode原创 2021-02-04 13:45:48 · 200 阅读 · 0 评论 -
工厂模式的理解及实际运用
工厂设计模式:工厂模式是java中最常用的设计模式之一,这种类型的设计模式属于创建型模式,可以提供一种创建对象的最佳方式,工厂只负责实现创建所有实例的内部逻辑,并且创建对象的方法可以被外部直接调用创建所需要的的对象实例;1、有点在于 一个调用者想创建一个对象,只要知道其名称就可以了,比如有些对象创建过程比较复杂代码量比较大那么使用工厂就可以减少代码量;2、屏蔽产品的具体实现调用者只需要关注产品接口就可以;3、降低了代码的耦合度,比如又甲乙丙都使用到了B 对象,常规操作需要在甲乙丙都创建B对象,使用了工厂的话原创 2020-11-09 23:37:39 · 1823 阅读 · 1 评论 -
代理模式的实现以及运用
代理模式实际上就是对于不能直接访问的对象提供给一个代理对象,通过代理对象可以访问该对象的功能,这样做的有点就每个对象的职责清晰,具有高扩展性更智能化,但是由于访问的对象当中增加了代理对象,有些类型的代理模式会造成请求的处理变慢,实现代理模式需要额外的工作会导致更加复杂;代理实现的技术方案:1、基于接口的动态代理(JDK动态代理,JDK官方的Proxy类),要求被代理的类最少实在这里插入代码片现一个接口;2、基于子类的动态代理(第三方的CGLib)要求被代理的类不能用final修饰的类(最终类,为什么不能用f原创 2020-11-07 00:10:56 · 556 阅读 · 0 评论 -
Spring中的观察者模式运用
观察者模式:对象之间一对一或者一对多依赖,当一个对象改变状态的时候,依赖他的对象会受到通知并且自动各更新,MQ其实就是属于观察者模式,发布者发布消息,订阅者获取消息,订阅就可以获取消息没订阅就获取不到信息;观察者模式的优点:观察者和被观察者是抽象耦合的,建立了一套触发机制观察者模式的缺点:如果一个被观察者对象有很多的直接和间接的观察者的话,将所有的观察者都通知到会花费很多时间。如果在观察者和观察目标之间有循环依赖的话,观察目标会触发它们之间进行循环调用,可能导致系统崩溃。(比如A 和B 之前相互观察原创 2020-11-06 21:43:34 · 351 阅读 · 0 评论