我是靠谱客的博主 强健白开水,这篇文章主要介绍java23种设计模式(暂时只有简单的几种)单例模式什么是工厂模式,现在分享给大家,希望可以做个参考。

单例模式

单个实例,一个程序中,该类的对象只允许产生一个。

  1. 外界不能随便new(构造方法私有化)
  2. 提供公共的获取对象方式 静态的
  3. new 的动作 只能一次!!!静态变量随着类的加载 初始化,初始化一次

饿汉式

只要类加载,对象就产生,无论是否使用

多线程使用没有问题

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.it.single; /* 如何完成单例 1:私有构造方法 2:定义静态变量 完成初始化 3:提供公共的静态的获取方法 饿汉式: 只要类加载了,这个对象就产生了。 不管别人用不用。 多线程使用没有问题。 */ public class Single { //定义静态变量 private static Single single= new Single(); // 私有了构造 private Single(){} //提供公共的访问方式 静态的 public static Single newInstance(){ return single; } }

懒汉式

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.it.single2; /* 饿汉式 类一加载就创建了对象。 浪费内存。 延迟加载。用的时候再创建。 懒汉式 延迟对象的产生 */ public class Single { //定义静态变量 private static Single single = null; // 私有了构造 private Single(){} //提供公共的访问方式 静态的 public static Single newInstance(){ // 判断该对象是否已经创建了 if(single==null){ single = new Single(); } return single; } }

线程安全的懒汉式

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.it.single3; public class Single { //定义静态变量 private static Single single ; // 私有了构造 private Single(){} //提供公共的访问方式 静态的 public static Single newInstance(){ if(single==null){ final Single s = new Single(); } //为了提高效率加一个 非空判断 if(single==null){ synchronized (Single.class){ // 判断该对象是否已经创建了 if(single==null){ single = new Single(); } } } return single; } }

什么是工厂模式

工厂模式

什么是工厂模式

复制代码
1
2
3
1.工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 2.在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,是通过使用一个共同的接口来指向新创建的对象。

栗子

复制代码
1
2
您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现。

优缺点

复制代码
1
2
3
4
5
优点: 1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。 3、屏蔽产品的具体实现,调用者只关心产品的接口。 缺点:每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。这并不是什么好事。 工厂模式一般都是创建一个产品,注重的是把这个产品创建出来就行,只要创建出来,不关心这个产品的组成部分。从 代码上看,工厂模式就是一个方法,用这个方法就能生产出产品。

在这之后过了大约30万年,物质和能量开始形成复杂的结构,称为原子,再进一步构成分子。至于这些原子和分子的故事以及它们如何互动,就成了化学。

人类简史

最后

以上就是强健白开水最近收集整理的关于java23种设计模式(暂时只有简单的几种)单例模式什么是工厂模式的全部内容,更多相关java23种设计模式(暂时只有简单内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部