目录
- 第二章 创建型模式
-
- 1、创建型模式概述
- 2、单例模式(Singleton)
-
- (1)模式的定义与特点
- (2)模式的结构与实现
- (3)应用场景
- (4)扩展
第二章 创建型模式
1、创建型模式概述
-
主要特点
将对象的创建与使用分离”,这样可以降低系统的耦合度。 -
创建型模式分为以下几种:
⑴单例(Singleton)模式 :某个类只能生成一个实例,该类提供了一个全 局访问点供外部获取该实例,其拓展是有限多例模式。
⑵ 原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克 隆出多个和原型类似的新实例。
⑶ 工厂方法(Factory Method)模式:定义一个用于创建产品的接口,由子 类决定生产什么产品。
⑷ 抽象工厂(Abstract Factory)模式:提供一个创建产品族的接口,其每 个子类可以生产一系列相关的产品。
⑸ 建造者(Builder)模式:将一个复杂对象分解成多个相对简单的部分, 然后根据不同需要分别创建它们,最后构建成该复杂对象。
2、单例模式(Singleton)
(1)模式的定义与特点
-
定义:指一个类只有一个实例,且该类能自行创建这个实例的一 种模式。例如,Windows中的任务管理器、回收站等
-
特点:
1)单例类只有一个实例对象;
2)该单例对象必须由单例 类自行创建;
3)单例类对外提供一个访问该单例的全局访问点。
(2)模式的结构与实现
普通类的构造函数是公有的, 外部类可以通过“new 构造函数 ()”来生成多个实例。
但是如果将类的构造函数设为私有的, 外部类就无法调用它生成多个实例了。
这时该类自身必须定义一 个静态私有实例,并向外提供一 个静态的公有函数用于创建或获取该静态私有实例。
1、结构
- 单例类:包含一个实例且能自行创建这个实例的类。
- 访问者类:使用单例的类
2、实现
- 懒汉式单例:该模式的特点是类加载时没有生成单例,只有当第一次调用getInstance方法时才去创建这个单例
结构图:
President类:
- 饿汉式单例:该模式的特点是类一旦加载就创建一个单例,保证在调用getInstance方法之前单例已经存在了。
代码如下:
例:用饿汉式单 例模式模拟产生猪八戒对象。
结构图:
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览93643 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!