Java设计模式
简述23种常见的设计模式,便于各大框架源码阅读,提升编程内功
@ Zoey
如果世界上真的有奇迹,那一定是努力的另一个名字
展开
-
创建型模式——原型模式
创建型模式——原型模式 (一)概述 原型模式指用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。原型实例指定了要创建的对象的种类,用这种方式创建对象非常高效,无须知道对象创建的细节。 原型模式是在内存中二进制流的拷贝,要比直接new一个对象性能好很多,尤其是构造函数比较复杂,并且在循环体中生产出大量的对象时,用原型模式效率很高。 说起原型模式的浅拷贝和深拷贝, 我们都知道浅拷贝是对值类型的成员变量进行复制, 对引用类型的变量只是对引用进行复制,实际上两个对象还是指向的同一原创 2020-07-28 16:18:38 · 6803 阅读 · 0 评论 -
创建型模式——单例模式
创建型模式——单例模式 (一)概述 单例模式是最简单的设计模式之一,属于创建型模式,它提供了一种特殊的创建对象的方式,确保全局中只有单个对象被创建。这个设计模式主要目的是想在整个系统中只能出现类的一个实例,即一个类只有一个对象。 单例模式可以非常有效地节约资源,主要有以下两点: 由于频繁使用已经创建完成的对象,可以省略多次创建对象所花费的时间,这对于那些重量级的对象而言,效果非常明显。 因为不需要频繁创建对象,GC压力也减轻了,而在GC中会有STW(stop the world),从这一方面也节约了GC原创 2020-07-09 10:19:51 · 7841 阅读 · 0 评论 -
创建型模式——工厂方法模式
创建型模式——工厂方法模式 (一)概述 工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method是一个类的实例化延迟到其子类。 在工厂方法模式中,核心的工厂类不再负责所有的产品的创建,而是将具体创建的工作交给子类去做。这个核心类则摇身一变,成为了一个抽象工厂角色,仅负责给出具体工厂子类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。 (二)模式组成 在工厂方法模式中主要有以下几个角色: 抽象工厂(Creator)角色:担任这个角色的是工厂方法模式的核心,它原创 2020-07-10 08:22:13 · 7479 阅读 · 1 评论 -
创建型模式——抽象工厂模式
创建型模式——抽象工厂模式 (一)简述 抽象工厂模式是一个超级工厂,用来创建其他工厂,这个工厂也被称为工厂的工厂。 这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。在抽象工厂模式中,接口负责创建相关对象的工厂,而不明确指定它们的类。 每个生成的工厂可以按照工厂模式提供对象。 (二)特点 抽象工厂模式是工厂方法模式的孪生兄弟。工厂方法模式中考虑的是一类产品的生产,如畜牧场只养动物、电视机厂只生产电视机等。我们可以把同种类称为同等级,也就是说:工厂方法模式只考虑生产同等级的产品,但是在原创 2020-07-20 19:17:44 · 6831 阅读 · 0 评论 -
创建型模式——建造者模式
创建型模式——建造者模式 (一)概述 建造者模式,又被称为生成器模式,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。使用多个简单的对象一步一步构建成一个复杂的对象,有点像造房子一样一步步从地基做起到万丈高楼。 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。 ...原创 2020-07-21 11:16:33 · 6773 阅读 · 0 评论 -
结构型模式——适配器模式
结构型模式——适配器模式 (一)概述 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。例如,读卡器是作为内存卡和笔记本之间的适配器,我们将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。 适配器模式一共有三个角色,从上面那个内存卡的例子也能看出来,主要分为: 1. 目标(Target)接口:当前系统业务所期待的接口,可以是抽象原创 2020-08-01 17:09:44 · 5890 阅读 · 0 评论