摘要: 桥接模式(Bridge Pattern) 桥接模式也称桥梁模式和接口模式,是将抽象部分和具体实现部分进行分离,使得他们独立变化,简而言之,我们之前想拥有一个类的功能使用的是继承,那现在我们就用组合的方式把他们联合在一起,而不是继承,实际上一种多重继承的替代方案。 illustrate bridge 阅读全文
posted @ 2021-05-01 22:28 UpGx 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 适配器模式(Adapter Pattern) 他的功能是将一个类的接口变成客户端所期望的另一种接口,从而使得原本因接口不匹配而不能一起工作的类一起工作。简而言之,就是之前有一个功能,但是新的功能需要原有的功能的一些代码,我们不想新开发,所以就新建一个适配器,使得可以使用。类似,手机充电转接头的功能, 阅读全文
posted @ 2021-04-27 22:57 UpGx 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 代理模式(Proxy Pattern) 对其他对象提供代理,以控制对这个对象的访问,目的对其他对象进行增强,简而言之,类似AOP,他就是一种代理模式的实现,对你的类进行增强(在你的方法或者类调用之前、后进行增强),代理模式分为两种,静态和动态代理,动态代理常常有两种类库用来实现(CGLIB和JDK) 阅读全文
posted @ 2021-04-22 18:39 UpGx 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 建造者模式(Builder Pattern) 将一个复杂对象的创建与它的表示分离,使得同样的创建过程有不同的表示,用户只用知道创建类型,无需知道创建的过程。简而言之,用户只用知道对象名称,和他/她有的参数,然后传递,其余的事情我们在创建类内部进行操作。例如,用过jpa的都知道,我们只用传递我们的查询 阅读全文
posted @ 2021-04-19 12:36 UpGx 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 原型模式(Prototype Pattern) 通过拷贝创建新的对象,调用者不用知道创建细节,不调用构造函数,是一种创建型模式,简而言之就是一个克隆一个对象,使用场景 类初始化消耗资源过多 构造函数比较复杂 循环体中产生大量新的对象 对于原型模式有两种写法,一种浅克隆(克隆对象使用的指向的同一个地址 阅读全文
posted @ 2021-04-15 19:46 UpGx 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 单例模式(Singleton Pattern) 确保一个类在任何情况下都绝对只有一个实例,并且提供一个全局访问点。有时候创建对象时耗时过多或者耗资源过多,但是我们经常用这个对象。我们就可以使用单例模式,并且如果一个工具类存有状态,我们也需要单例,因为如果是多个实例,可能存在数据读取错误的问题,例如配 阅读全文
posted @ 2021-04-12 17:21 UpGx 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 工厂模式(factory pattern) 有时候我们在创建一个类的时候可能需要大量代码,如果把这个创建逻辑都放在一个类中完成,那无疑是非常冗余的,而且如果代码作为一个底层支持,我们需要对调用方提供干净的支持,他们无需了解如何创建对象的细节,只需要使用即可。所以我们使用工厂模式,把我们的工具或类者业 阅读全文
posted @ 2021-04-06 18:15 UpGx 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 深度拷贝带随机指针的链表(Copy List with Random Pointer) 创建一个新对象,然后将当前对象的非静态字段复制到该新对象,无论该字段是值类型的还是引用类型,都复制独立的一份。当你修改其中一个对象的任何内容时,都不会影响另一个对象的内容,这是对java类深拷贝的描述。实际上就是 阅读全文
posted @ 2021-03-30 12:40 UpGx 阅读(121) 评论(0) 推荐(0) 编辑
摘要: ReverseLinkedList(翻转链表) 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。非连续、非顺序指的是,通过指针把一组零散的内存块串联在一起,其中每一个内存块叫做链表的节点,所以每个节点包含两部分一个data(你存放的数据),一个n 阅读全文
posted @ 2021-03-15 16:43 UpGx 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 时间&空间复杂度 时间复杂度: 通俗来说就是随着数据量的增加,程序运行的时间花费量是怎么变化的,时间复杂度常用大o表示。举个例子,猜数字,猜10个,100个、1000个,猜数的数据量是在增加的,但是实际运行程序花费的时间是怎么变化的呢,是线性的?常数的?还是指数的,它反映的是一个趋势。简而言之,时间 阅读全文
posted @ 2021-02-27 21:54 UpGx 阅读(282) 评论(0) 推荐(0) 编辑