![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 55
W.Buffer
这个作者很懒,什么都没留下…
展开
-
设计模式——策略模式
策略模式 策略模式从表理解,必定是有很多中策略,但是具体采用哪一种策略,那就是策略模式需要解决的问题。 策略模式定义了算法家族、分别封装起来,让他们之间可以相互替换,此模式让算法的变化不会影响到使用算法的用户。 例如模电商平台基本每个月都在做活动,如返现、打折等,这些算法的变化不需要进行停服维护,而是事先将算法都是想了,只是需要到特定的时间才会将这种算法启用。 定义算法的抽象: public interface IPromote { void doPromote(); } 事先将算法进行实现: p原创 2021-09-23 14:49:19 · 123 阅读 · 0 评论 -
设计模式——委派模式
委派模式 委派模式又叫委托模式,是一种面向对象的设计模式,允许对象组合实现与继承相同的代码重用。他的基本作用就是负责任务的调用和分配任务,是一种特殊的静态代理,可以理解为全权代理,但是代理模式注重过程,而委派模式注重结果。 委派模式在生活中的应用像是公司架构中,Boss给Leader下达任务,Leader根据下属员工的能力给员工派发任务,工作完成后再由Leader想Boss进行工作汇报。 Leader必须事先知道自己的手下员工能做什么,事先将各个员工对号入座,便于后边分配任务的时候快速找到目标完成任务。 p原创 2021-09-23 14:21:13 · 155 阅读 · 0 评论 -
设计模式——代理模式
代理模式 什么是代理模式? 首先说什么是代理。记得有这么个神评论“请说出一个最想日本人名字的中文职位”,神评论:房屋中介。 代理的作用就类似房屋中介。试想一个业主想要出售自己的房屋,但是业主本身并不是干这行的,对这行的规矩和行情并不了解,因此他将房屋在出售过程中的行使权交给中介,由中介代替他去完成挂牌、引流、洽谈和成交等过程。房屋中介是业主的代理。反过来,中介并没有拥有房屋的所有权,因此对于房屋在出售过程中的签字,证件证明等过程仍需要业主出面提供,所以代理必须要调用被代理(业主)提供的方法。 代理起到的作用原创 2021-09-22 23:18:26 · 96 阅读 · 0 评论 -
cglib动态生成的类代码
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package proxy.dynamicproxy.cglib; import java.lang.reflect.InvocationTargetException; import net.sf.cglib.core.Signature; import net.sf.cglib.proxy.C原创 2021-09-22 22:38:26 · 5306 阅读 · 0 评论 -
JDK动态代理生成的类代码
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.lang.reflect.UndeclaredThrowa原创 2021-09-22 16:55:11 · 261 阅读 · 0 评论 -
单例模式-工厂模式
工厂模式 工厂模式是随着应用的发展衍生出来一种编程习惯,用于创建复杂的对象,或者避免编写大量的重复代码的一种解决方案。 简单工厂 基础工作: public interface Subject { void study(); } public class Java implements Subject { @Override public void study() { System.out.println("学习Java"); } } public cla原创 2021-09-22 10:24:00 · 99 阅读 · 0 评论 -
设计模式——单例模式
单例模式 单例模:代码中多次获取一个类的对象,者多次获取的结果都是同一个对象,这个对象就是一个单例对象。 常见的单例模式 既然单例不允许有多个重复的对象,而一般情况下对象都是通过构造函数创建的,name到哪里模式必定不能让用户能够调用到构造函数。 饿汉式单例 之所以叫做饿汉式,是因为这个唯一的实例在一开始的时候就会被创建好了,显得很急切,就像一个饿汉一样哪里忍得了把饭放着不吃。 // 看红色字体知道必须私有化构造方法 public class HungerySingleton { // 私有原创 2021-09-20 23:36:28 · 333 阅读 · 0 评论