当前位置: 首页 > news >正文

JavaSE第11篇:设计模式

一、创建型模式

1、工厂方法模式

2、抽象工厂模式

3、单例模式singleton

/*** 单例* 饿汉式(线程安全的):在加载类的时候就会创建类的单例,并保存在类中。* 1.定义类变量实例并直接实例化,在类加载的时候就完成了实例化并保存在类中;* 2.定义无参构造器,用于单例实例.* 3.定义公开方法,返回已创建的单例.* 懒汉式(线程不安全的): 懒汉式就是不在系统加载时就创建类的单例,而是在第一次使用实例的时候再创建。* 1.定义一个私有类变量来存储单例,私有的目的是指外部无法直接获取这个变量,而要使用提供的公共方法来获取.* 2.定义私有构造器,表示只在类内部使用,亦指单例的实例只能在单例类内部创建* 3.定义一个公共的公开的方法来返回该类的实例,由于是懒汉式,需要在第一次使用时生成实例,所以为了线程安全,* 使用synchronized关键字来确保只会生成单例.* 代理模式** @Author liming* @Date 2023/6/15 14:59*/
public class SingletonTest {//饿汉在类加载的时候创建类的单例
/*    //1、创建类的实例变量private static SingletonTest singletonTest = new SingletonTest();//2、提供一个无餐构造器private SingletonTest() {}//3、提供一个静态方法public static SingletonTest getInstance() {return singletonTest;}*///懒汉在调用时创建单例对象//1、提供一个私有的实例变量private static SingletonTest singletonTest;//2、定义私有构造器private SingletonTest() {}//3、提供公共方法public static SingletonTest getInstance() {if (singletonTest == null) {synchronized (SingletonTest.class) {if (singletonTest == null) {singletonTest = new SingletonTest();}}}return singletonTest;}}

4、建造者模式

5、原型模式

二、结构型模式

1、适配器模式

2、装饰器模式

3、代理模式

4、外观模式

5、桥接模式

6、组合模式

7、享元模式

三、行为模式

1、策略模式

2、模版方法模式

3、观察者模式

4、迭代子模式

5、责任链模式

6、命令模式

7、备忘录模式

8、状态模式

9、访问者模式

10、中介者模式

11、解释器模式

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Servlet(2)
  • C语言 | Leetcode C语言题解之第321题拼接最大数
  • 免费自动化AI视频剪辑工具
  • 深入解析Apache Flink中的事件时间与处理时间
  • 使用TensorRT对YOLOv8模型进行加速推理
  • 解决方案:Cannot write to ‘torch-2.0.1+cu118-cp310-cp310-linux_x86_64.whl.3’ (成功).
  • 我的256天创作纪念日
  • 《学会 SpringMVC 系列 · 剖析初始化》
  • 学习分享:电商平台 API 接入技术要点深度剖析
  • 分享一个简单线性dp
  • 2024 年华数杯全国大学生数学建模竞赛题目B 题 VLSI 电路单元的自动布局完整成品文章分享
  • C++——哈希结构
  • 中国县城建设统计年鉴(2015-2022年)
  • 基础算法之模拟
  • RK3568笔记五十二:HC-SR04超声波模块驱动测试
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • CentOS7 安装JDK
  • git 常用命令
  • Lsb图片隐写
  • Meteor的表单提交:Form
  • MobX
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 数据可视化之下发图实践
  • 整理一些计算机基础知识!
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #includecmath
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • #Ubuntu(修改root信息)
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (1)Android开发优化---------UI优化
  • (2)nginx 安装、启停
  • (3)nginx 配置(nginx.conf)
  • (70min)字节暑假实习二面(已挂)
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (办公)springboot配置aop处理请求.
  • (二)JAVA使用POI操作excel
  • (二)PySpark3:SparkSQL编程
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core 发展历程和版本迭代
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .Net6使用WebSocket与前端进行通信
  • .net操作Excel出错解决