java23种常用设计模式之抽象工厂模式(Abstract Factory)2

Breach Legacy GRU服 SCP-106收容全流程指南 SCP基金会题材的恐怖生存游戏中,收容失效是最经典的玩法设定之一。作为Keter级实体,SCP-106凭借相位移动、接触腐蚀和口袋次元等机制成为多人服务器里最难处理的目标。理解它的行为原理,是制定有效收容策略的基础。在Breach Legacy等社区重制项目中,GRU服务器将多人协作与SCP收容流程结合,玩家需扮演不同阵营完成目标。本文从SCP-106的核心机制、阵营任务结构、设备准备到封门验证,系统讲解一套可行的收容流程,并给出多人分工、失败复盘与常见排错建议。对于刚接触联机收容的新玩家或反复被106团灭 阅读详情

继续上一篇的工厂方法模式的优化,上一节讲到一个例子,生产白人、黑人和黄人,会说会笑,但是人有男有女,这个怎么拓展呢?重新生产一次?太不理智了!

之前花费了那么多功夫,不能白忙一场呀!

这里我们引入一个抽象工厂,问题就简单了!抽象工厂只实现了一个createHuman 的方法,目的是简化实现类的代码工作量,这个在讲代码的时候再说。这里还使用了Jdk 1.5以上版本 的一个新特性Enum 类型,其实这个完全可以由类的静态变量来实现,但我想既然是学习就应该学有所获得,学以致用,即使你对这个模式非常了解,也可能没用过Enum 类型,也算是一个不同以往的知识点吧,我希望给大家讲解,每次都有新的技术点提出来,每个人都会有一点的新的收获,然后在具体的项目中使用时,知道有这个技术点,然后上baidu Google一下就能解决问题。(话题扯远了……)上代码……

Human不是那个Human啦,我有男女之分……

package com.freedom.factory.abstractfactory;

public interface Human2 {
    
    public void say();
    public void smile();
    //性别
    public void gender();

}

定义三个抽象人种(抽象类)
package com.freedom.factory.abstractfactory;

import com.freedom.factory.factory2.Human;

public abstract class AbstractWhiteHuman implements Human{
	
	
	@Override
	public void say() {
		System.out.println("white human can say anything!");
		
	}

	@Override
	public void smile() {
		System.out.println("white human can smile!");
		
	}

}

package com.freedom.factory.abstractfactory;

import com.freedom.factory.factory2.Human;

public abstract class AbstractBlackHuman implements Human{
    
    
    @Override
    public void say() {
        System.out.println("black human can say anything!");
        
    }

    @Override
    public void smile() {
        System.out.println("black human can smile!");
        
    }

}

package com.freedom.factory.abstractfactory;

import com.freedom.factory.factory2.Human;

public abstract class AbstractYellowHuman implements Human{
    
    
    @Override
    public void say() {
        System.out.println("yellow human can say anything!");
        
    }

    @Override
    public void smile() {
        System.out.println("yellow human can smile!");
        
    }

}

由于以上人种都是抽象类,java是不允许你new出一个人来的,之恩能够乖乖实现它,这下就好玩了,你想实现一个female还是一个male呢!随便了!(粤语:shi dan la!)

package com.freedom.factory.abstractfactory;

public class YellowFemaleHuman extends AbstractWhiteHuman{

	@Override
	public void gender() {
		System.out.println("Yellow Lady first!");
		
	}
	
}
package com.freedom.factory.abstractfactory;

public class YellowMaleHuman extends AbstractWhiteHuman{

    @Override
    public void gender() {
        System.out.println("Yellow Male!");
        
    }
    
}

//黑人和白人的代码大家自己写吧!我不贴了,我有空上传了代码就吧链接补上。

这里我引入了枚举类型,有兴趣可以看看。Enum 以前我也很少用,最近在一个项目中偶然使用上了,然后才发觉它的好处,Enum 类型作为一个参数传递到一个方法中时,在Junit 进行单元测试的时候,不用判断输入参数是否为空、长度为0 的边界异常条件,如果方法传入的参数不是Enum 类型的话,根本就传递不进来,你说定义一个类,定义一堆的静态变量,这也可以呀,这个不和你抬杠,下面的代码我解释一下,构造函数没啥好说的,然后是getValue()方法,就是获得枚举类型中一个元素的值,枚举类型中的元素也是有名称和值的,这个和HashMap 有点类似。

package com.freedom.factory.abstractfactory;

public enum HumanEnum {
	// 把世界上所有人类型都定义出来
	YelloMaleHuman("com.freedom.factory.abstractfactory.YellowMaleHuman"), 
	YelloFemaleHuman("com.freedom.factory.abstractfactory.YellowFemaleHuman"), 
	WhiteFemaleHuman("com.freedom.factory.abstractfactory.WhiteFemaleHuman"), 
	WhiteMaleHuman("com.freedom.factory.abstractfactory.WhiteMaleHuman"), 
	BlackFemaleHuman("com.freedom.factory.abstractfactoryBlackFemaleHuman"), 
	BlackMaleHuman("com.freedom.factory.abstractfactory.BlackMaleHuman");

	private String value = "";

	// 定义构造函数,目的是Data(value)类型的相匹配
	private HumanEnum(String value) {
		this.value = value;
	}

	public String getValue() {
		return this.value;
	}
	/*
	 * java enum类型尽量简单使用,尽量不要使用多态、继承等方法 毕竟用Class完全可以代替enum
	 */
}
然后,我们看我们的工厂类,先看接口:

package com.freedom.factory.abstractfactory;

import com.freedom.factory.factory2.Human;

public interface HumanFactory {
	
	//制造黄色人种
	public Human createYellowHuman();
	//制造一个白色人种
	public Human createWhiteHuman();
	//制造一个黑色人种
	public Human createBlackHuman();
	
}
然后看抽象类:

package com.freedom.factory.abstractfactory;

public abstract class AbstractHumanFactory implements HumanFactory {

	/*
	 * 给定一个性别人种,创建一个人类出来专业术语是产生产品等级
	 */
	protected Human2 createHuman(HumanEnum HumanEnum) {
		Human2 human = null;
		// 如果传递进来不是一个Enum中具体的一个Element的话,则不处理
		if (!HumanEnum.getValue().equals("")) {
			try {
				// 直接产生一个实例
				human = (Human2) Class.forName(HumanEnum.getValue()).newInstance();
			} catch (Exception e) {
				// 因为使用了enum,这个种异常情况不会产生了,除非你的enum有问题;
				e.printStackTrace();
			}
		}
		return human;
	}

}
/*
看到没,这就是引入enum 的好处,createHuman(HumanEnum humanEnum)这个方法定义了输入参数必须是HumanEnum 类型,
然后直接使用humanEnum.getValue()方法就能获得具体传递进来的值,这个不多说了,大家自己看程序领会,没多大难度,这个抽象类的目的就是减少下边实现类的代码量.
*/ 
female工厂

package com.freedom.factory.abstractfactory;

public class FemaleHumanFactory extends AbstractHumanFactory {
	// 创建一个女性黑种人
	public Human2 createBlackHuman() {
		return super.createHuman(HumanEnum.BlackFemaleHuman);
	}

	// 创建一个女性白种人
	public Human2 createWhiteHuman() {
		return super.createHuman(HumanEnum.WhiteFemaleHuman);
	}

	// 创建一个女性黄种人
	public Human2 createYellowHuman() {
		return super.createHuman(HumanEnum.YelloFemaleHuman);
	}
}
male工厂

package com.freedom.factory.abstractfactory;

public class MaleHumanFactory extends AbstractHumanFactory {
	// 创建一个男性黑种人
	public Human2 createBlackHuman() {
		return super.createHuman(HumanEnum.BlackMaleHuman);
	}

	// 创建一个男性白种人
	public Human2 createWhiteHuman() {
		return super.createHuman(HumanEnum.WhiteMaleHuman);
	}

	// 创建一个男性黄种人
	public Human2 createYellowHuman() {
		return super.createHuman(HumanEnum.YelloMaleHuman);
	}
}
test

package com.freedom.factory.abstractfactory;

import org.junit.Test;

public class TestAbstractFactory {

	@Test
	public void test3() {
		//第一条生产线,男性生产线
		HumanFactory maleHumanFactory = new MaleHumanFactory();
		//第二条生产线,女性生产线
		HumanFactory femaleHumanFactory = new FemaleHumanFactory();
		//生产线建立完毕,开始生产人了:
		Human2 maleYellowHuman = maleHumanFactory.createYellowHuman();
		Human2 femaleYellowHuman = femaleHumanFactory.createYellowHuman();
		maleYellowHuman.say();
		maleYellowHuman.smile();
		femaleYellowHuman.gender();
		/*
		* .....
		* 后面shi dan (随便)你了!
		*/
	}
	

}

抽象工厂模式讲完了,我们再思考一些问题:工厂模式有哪些优缺点?

小结一下,先说优点,我这人一般先看人优点,非常重要的一点是,工厂模式符合OCP (开闭原则),怎么说呢,比如就性别的问题,这个世界上还存在双性人(for example泰国人妖),是男的也是女的,那这个就是要再增加一个工厂(FemaleAndMaleFactory)就可以解决这个问题,我就不写了,很简单的!大家自己有兴趣可以画下类图,然后实现下,也相当于温故,然后看看能不能知新。
那还有没有其他好处呢?抽象工厂模式,有一个非常大的有点,高内聚,低耦合,在一个较大的项目组,产品是由一批人定义开发的,但是提供其他成员访问的时候,只有工厂方法和产品的接口,也就是说只需要提供Product Interface 和Concrete Factory 就可以产生自己需要的对象和方法,Java 的高内聚低耦合的特性表现的一览无遗,哈哈,终于Over了!


下载源码:http://download.youkuaiyun.com/detail/github_22022001/8290541

23种设计模式-抽象工厂(Abstract Factory)设计模式 软考中级-软件设计师 抽象工厂模式 阅读详情

相关推荐

断点回归(regression discontinuity design)学习笔记

本篇博文主要是对断点回归的一些学习和总结~ 学习材料如下: 1 断点回归设计RDD分类与操作案例 2 RDD断点回归, Stata程序百科全书式的宝典 3 断点回归设计的前沿研究现状, RDD 4 让“跳跃”更有意义:断点回归设计(RDD) 5 Stata: 断点回归 (RDD) 教程 6 怎么用通俗的语言解释断点回归?它与DID的区别是什么 7 Watering Down Environmental Regulation in China,Guojun He, Shaoda Wang, Bing Zhan

Claire_chen_jia的博客 9万+

Java 中的 23 种设计模式详解

项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

微笑听雨 7万+

深入解读ATPG Pattern类型:除了Basic Scan,Clock PO和RAM Sequential模式怎么用?

本文深入解析ATPG高级Pattern类型,包括Clock PO和RAM Sequential模式的应用策略。通过Mentor DFT工具链中的Tessent平台,详细介绍了这些模式的工作原理、配置命令及实战案例,帮助提升芯片测试的故障覆盖率和效率。特别适用于处理时钟域交叉和嵌入式存储器的复杂电路测试需求。

weixin_27697385的博客 486

23种设计模式——抽象工厂模式(Abstract Factory Pattern)详解

本文介绍了23种设计模式之——抽象工厂模式(Abstract Factory Pattern)的说明及使用

Meteors.的博客 1246

低代码Agent开发框架使用指南(二)—Coze平台核心功能概览

本篇分享系统介绍了字节跳动推出的低代码智能体开发平台Coze。Coze以免费易用、多模型支持和便捷的跨平台发布为核心优势,显著降低了智能体开发门槛。文章详细解析了平台的六大核心功能:扩展能力边界的插件系统、增强认知的知识库、结构化数据管理的数据库、可视化图像处理的图像流、实现复杂逻辑编排的工作流,以及处理复杂任务的多智能体协作机制,全面展现了Coze平台的强大能力。

weixin_42782643的博客 1358

UE5入门第二周总结:基于蓝图的国际象棋的实现

在C++的学习中,这是一个入门级别的项目。我们的目标是灵活运用蓝图的特性和强大的可视化功能,做出这一入门级项目的同时,思考如何优化并改进算法,并尽可能的用面向对象的方法实现,用蓝图中的继承和多态简化编码过程。

YoungeYang的博客 1259

Abstract Factory抽象工厂模式(Java代码实现)——创建型模式

在本人所编写的关于23种设计模式的文章中,前言基本上都是一样的,读者可以从章节2开始阅读,本篇是关于创建型模式中抽象工厂模式(Abstract Factory Pattern)的详解。 文章目录1.前言 1.前言 根据Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用面向对象软件的基础) 一书,四位作者把设计模式分为三大类,分别如下: 1.创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑

MrYushiwen的博客 1938

Unity之ASE+ShaderGraph+VFX入门到精通 目录

这里是ASE+ShaderGraph+VFX从入门到精通专栏的目录,不停更新中,有问题随时留言或者私信。

TxNet 2841

2.Java设计模式-----抽象工厂模式(Abstract Factory Pattern)

抽象工厂模式(Abstract Factory),是23种设计模式之一。抽象工厂模式是这样子定义的: 抽象工厂模式,提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。 在学习抽象工厂模式之前,最好熟悉简单工厂模式以及工厂方法模式,这样对理解抽象工厂模式会有一定帮助,而且抽象工厂模式是基于工厂方法模式而来的。如果你还没有了解到什么是简单工厂模式以及工厂方法模式...

扛麻袋的少年的博客 1455

【WorkBuddy专栏19】技能的创造与迁移——从零开始打造你的AI工作流

【WorkBuddy专栏19】技能的创造与迁移——从零开始打造你的AI工作流

AI人人懂 373

华为OD机试 - 计算误码率(Python/JS/C/C++ 双机位C卷 100分)

移动通信 网络中的误码率主要是指比特误码率,其计算公式如下:比特误码率 = 错误比特数 / 传输总比特数,为了简单,我们引入字符串来表示误码通信的信息,一个字符错误了,就认为出现了一个误码。我们需要将这两个压缩字符串解压成实际的字符序列,然后逐位比较它们,统计误码(不同字符)的数量。题目给出两个经过压缩编码的字符串,通过解压缩后需要判断两个字符串在解压后的误码率,即对应位置不同的字符数量占总字符数量的比例。输入一个标准的字符串,和一个传输前的字符串,计算误码率。两个解压后的字符串完全相同,没有错误字符。

学Java,找哪吒 2193

Java23种设计模式 抽象工厂模式【Abstract Factory Pattern】

  本文章转载大佬CBF4LIFE的文章 博客地址:https://www.cnblogs.com/cbf4life/           好了,我们继续上一节课,上一节讲到女娲造人,人是造出来了,世界时热闹了,可是低头一看,都 是清一色的类型,缺少关爱、仇恨、喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍脑袋, Shit!忘记给人类定义性别了,那怎么办?抹掉重来,然后就把人类重新洗牌...

宇智波带土 207

YOLOv11涨点改进 | Conv篇/小目标改进 | YOLOv11引入SPDConv卷积特征无损下采样模块,增加YOLOv11小目标P2检测层(助力小目标任务高效涨点)

本文提出了一种创新的SPDConv模块来优化YOLOv11模型,通过空间到深度(SPD)层和非步幅卷积层实现特征无损下采样。该方法有效解决了传统CNN中因跨步卷积和池化层导致的细粒度信息丢失问题,特别提升了小目标检测性能。实验表明,SPDConv在目标检测和图像分类任务中显著优于现有SOTA模型。文章详细介绍了模块原理、核心代码实现,并提供了YOLOv11集成SPDConv的具体方法,包括配置文件修改和P2层增强等优化技巧。该技术为计算机视觉任务提供了一种高效的特征保留方案。

Ai缝合怪、助力小伙伴高效发论文 586

JAVA23种设计模式之抽象工厂模式(Abstract Factory Pattern)

抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 介绍 意图 :提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 主要解决:解决接口选择的问题。 使用时机:产品有多于一个的产品族,而系统只消费其中某一族的产品。 优点

fuu123f的博客 196

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java GoF 23种设计模式-创建型模式-抽象工厂模式(Abstract Factory Pattern)

文章目录一、模式定义二、模式动机三、模式结构四、代码实现4.1 Sender产品及其实现4.2 Logger产品及其实现4.3 工厂类及其实现4.4 测试及运行结果 一、模式定义 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于创建型模式。 抽象工厂模式是所有形式的工厂模式中最为抽象和最具一般性的一种形态。 抽象工厂模式与工厂方法模式最大的区别在于: 工厂方法模式: 一个抽象产品类,可

WU4566285的博客 444

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

java 23 种设计模式-02-抽象工厂模式(abstract factory)

目录 目录 抽象工厂模式 介绍 优点 缺点 实际应用 应用实例: 使用场景: 注意事项 代码 接口 & 工厂 常量 具体子类 工厂实现 颜色实现 形状实现 测试 & 结果 UML & Code UML Code 目录导航 抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该...

4万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java设计模式(三)抽象工厂模式(Abstract Factory Pattern)

抽象工厂模式(Abstract Factory Pattern)的介绍、应用场景、优缺点以及代码实现。

weixin_70044963的博客 536

抽象工厂模式(Abstract Factory Pattern)

介绍 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 意图: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 何时使用: 系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。 优点: 当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。 缺点: ...

BOBO的博客 233

Java-23个设计模式 Abstract Factory 抽象工厂模式

Abstract Factory 一系列相互依赖的对象的创建工作 (提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类) ① 创建抽象工厂SoftWareFactory(生成一个软件,iOS平台或者Android平台) /** * 软件工程基类 * 一个软件在多个平台的应用iOS和Android */ public abstract class SoftWar...

weixin_42321815的博客 136

java设计模式—抽象工厂模式(Abstract Factory Pattern)

抽象工厂模式 工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。 public interface Sender { public void Send(); } public class MailSender implements Sender { @Ove

weixin_43920664的博客 122

Java23种设计模式的研究之一(抽象工厂方法模式(Abstract Factory))

前面一篇文章分析到工厂方法模式(3种类型模式),今天有空就倒腾一番抽象工厂模式。前面的工厂模式对我们原有的代码侵入性太强,不利于我们后期对原有功能的扩展,这也违背了Java设计模式的六大原则之一开闭原则。(Java设计模式六大原则:开闭原则、里氏代换原则、依赖倒转原则、接口隔离、迪米特法则、单一职责原则)。抽象工厂模式就恰好规避了侵入性强的缺点。翻看了些许抽象工厂模式的讲解,其实各不千秋。在抽象工

MsFzzy的博客 433

创建型模式:抽象工厂模式(Abstract Factory Pattern)

经过很多大神的总结,目前Java中一共23种经典的设计模式! 按照目的,设计模式可以分为以下三种用途: 1.创建型模式:用来处理对象的创建过程 2.结构型模式:用来处理类或者对象的组合 3.行为型模式:用来对类或对象怎样交互和怎样分配职责进行描述 创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:  工厂方法模式(Factory Method Pat

未来,你好! 590

Java 23 种设计模式:从踩坑到精通 —— 开篇及系列介绍

摘要:本文是《Java 23种设计模式:从踩坑到精通》系列的总入口与导航页。文章梳理了设计模式的起源与三大分类,结合SOLID六大原则,详解为什么2026年设计模式依然重要。提供25篇完整目录、面试高频Top10速记、场景速查索引、易混模式对比表及分级阅读路线,可作为长期收藏的设计模式学习手册。

折哥|智能物流与Java实战,副高数据库工程师。深耕出版社物流WMS/OMS(线体/立库/VGA),也分享Java进阶与OMS电商对接。Oracle→PG实战派。相信沉淀可迁移能力,分享通用技术,不藏不虚。 3581

java23种常用设计模式之抽象工厂模式(Abstract Factory)

上一篇博客在工厂方法的介绍中我们已经总结过了它的缺点,工厂方法模式类的创建依赖工厂类,不易于扩展程序,从设计层面看,扩展程序需要修改工厂类的做法违背了闭包原则。这个问题要解决也很简单,那就是抽象工厂模式,创建多个工厂类,一旦需要增加新功能,直接增加新的工厂类就搞定了,不需要修改之前的代码。 So easy,我们直接看代码吧! package com.freedom.factory; //方

The code world of freedom 461

Java 23 种设计模式

/ 产品族:Button + TextField 是一套// Windows 风格} }} }// Mac 风格} }} }// 抽象工厂 — 创建产品族一句话:普通工厂一个方法一种产品,抽象工厂一个方法多个关联产品。// 计算 "1 + 2 - 3"right = r;// 使用// 3一句话:很少用,JDK 的就是。创建型 — 怎么 new单例(一个)→ 工厂(子类决定)→ 抽象工厂(产品族)→ 建造者(分步构造)→ 原型(克隆)结构型 — 类/对象怎么组合。

鲜衣怒马少年时,不负韶华行且知。 从第一个Hello World起,便踏上这条后端修行路。趟过分布式事务的浑水,翻过性能瓶颈的高山,方知代码如剑,需千锤百炼方显锋芒。 博客所记,皆为修行路上的顿悟与磕绊,愿与同道人共勉,稳步江湖。 318
上一篇: java23种常用设计模式之工厂方法模式(Factory Method)2
下一篇: java23种常用设计模式之建造者模式(Builder)
freedom1993
博客等级 码龄12年 25粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值