![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 63
酒书
当你的才华还撑不起你的野心时,就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来历练。梦想不是浮躁,而是沉淀和积累。
展开
-
Java设计模式之代理模式
静态代理和动态代理模式都要求目标对象去实现一个接口,但是有时候目标对象只是一个单独的对象,并没有实现任何接口,这个时候可以使用目标对象的子类来实现代理,这就是cglib代理。即通过代理对象访问目标对象,这样做的好处是可以在目标对象实现的基础上增强额外的功能操作,即扩展目标对象的功能。缺点是因为代理对象需要与目标对象实现一样的接口,所以会有很多代理类,一旦接口增加方法,目标对象和代理对象都要维护。静态代理在使用时,需要定义接口或者父类,被代理对象(目标对象)与代理对象一起实现相同的接口或者是继承相同父类。原创 2023-04-18 23:08:12 · 897 阅读 · 1 评论 -
Java设计模式之七大原则
如果对每个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都替换成o2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型。3、依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。4、使用接口或抽象类的目的就是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成。客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。2、提高类的可读性,可维护性,降低变更引起的风险。原创 2023-04-16 21:23:02 · 513 阅读 · 0 评论 -
Java设计模式之单例模式
单例模式确保一个类只有一个实例,并提供一个全局访问点,实现单例模式的方法是私有化构造函数,通过getInstance()方法实例化对象,并返回这个实例。如果想要线程安全直接getXXX方法加上synchronized,简单粗暴,但是效率低。其实很简单,在构造方法中加一个判断即可。改造之后如果再想通过反射创建对象的话就会直接抛出异常。缺点:可能存在线程不安全的问题,需要解决线程安全问题。优点:共享资源全局使用,节省创建时间提高性能。破解方式一:通过反射进行破解单例模式。原创 2023-04-11 23:30:11 · 397 阅读 · 0 评论 -
java设计模式之策略模式
策略模式是一种行为模式,它将对象和行为分开,将行为定义为一个行为接口和具体的行为实现,说白了策略模式就是用来解决多个if判断的情况的。原创 2023-04-02 23:11:01 · 4473 阅读 · 0 评论