`
xiandaoyan
  • 浏览: 21426 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
阅读更多

 

作为对象的创建模式,多例模式中的多例类将恶意有多个实例,俄日额多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。多例模式的特点:有多个实例;自己创建、管理自己的实例;自己向外界提供自己的实例。

根据实例数量可将多例类分为有上限多例类和无上限多例类。

有上限多例类已经把实例的上线当作逻辑的一部分,并创建到了多例类的内部,这种多例模式叫做有上限多例模式。麻将牌掷两颗骰子就是一个双态类。它的类图结构如下:

有上限多例类

它以饿汉方式创建了两个实例,然后根据静态工厂方法参数选择哪一个实例。

无上限多利模式只多例模式的实例数量没有上线。多语言项目(网站国际化)的设计是一个很好的无上限多利模式的例子,它的类图如下:

无上限多例类 

该例子需要两个资源文件中文资源文件和英文资源,这个在附件中有。

根据状态可将多例类分为有状态多例类和无状态多例类。多例对象的状态在加载后可以改变的称为有状态多例类,反之称为无状态多例类。

参考文献:《Java与模式》,闫宏,第十五章。

1
2
分享到:
评论

相关推荐

    自己学习的设计模式整理的笔记源码

    整理的设计模式的学习笔记的源码,例面包含了相关的注释。与改源码对应的相关整理的文档连接:http://download.csdn.net/detail/soapcoder92/9380272

    Awk学习笔记和指南

    awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它...下面介绍的awk是以GUN的gawk为例的,在 linux系统中已把awk链接到gawk,所以下面全部以awk进行介绍。

    2009达内SQL学习笔记

    还能代表搜索模式中给定位置的0个或多个字符。下划线匹配单个任意字符。 如:select table_name from user_tables where table_name like 'S\_%' escape'\'; ' 找出“S_“开头的,由于下划线有任意字符的含义,故需...

    J2EE学习笔记

    6.5:集群分布式应用(以JBOSS为例) 190 6.6:JNLP原理及应用: 190 6.7:Log4原理及应用: 191 6.8:JFreeChat原理及应用: 191 6.9:几种常用协议 192 7.0:SOA原理 200 8:搜索引擎专题 205 9:CMS(内容发布管理系统)...

    awk学习笔记

    awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它...下面介绍的awk是以GUN的gawk为例的,在 linux系统中已把awk链接到gawk,所以下面全部以awk进行介绍。

    Awk学习笔记

    高清中文版,带完整书签! awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、...下面介绍的awk是以GUN的gawk为例的,在linux系统中已把awk链接到gawk,所以下面全部以awk进行介绍。

    ansible学习笔记二:playbook

    ansible学习笔记二:playbook环境:测试ansible-playbook1. 测试一例:2. 在yml内增加tags及handlers3. 在yml内增加变量:3.1 方法1,外部通过-e去指定:3.2 方法2,内部指定:3.3 方法3,用setup模块里的变量:3.4 ...

    Spark-Core学习知识笔记整理

    Spark-Core文档是本人经三年总结笔记汇总而来,对于自我学习Spark核心基础知识非常方便,资料中例举完善,内容丰富。具体目录如下: 目录 第一章 Spark简介与计算模型 3 1 What is Spark 3 2 Spark简介 3 3 Spark...

    整理后java开发全套达内学习笔记(含练习)

    例: import java.io.InputStreamReader; import java.io.BufferedReader; class n{ public static void main(String[] args){ System.out.println("请输入一列文字,包括空格:"); BufferedReader s = new ...

    Linux学习笔记(1)–命令帮助,Vim编辑器使用

    Linux学习笔记(1)-命令帮助,vim编辑器使用 一. 准备学习环境 创建虚拟机并安装centos8.1 二. 命令帮助 命令分类: 内部命令:没有储存位置的命令,是shell自带的。 外部命令:系统中有存储位置的命令,有与之对应...

    xmljava系统源码-SpringInAction4:《SpringInAction4th》学习笔记

    4th》学习笔记 第一部分 Spring的核心 1. Spring之旅 依赖注入 AOP bean的初始化过程 spring容器 2. 装配Bean “initialization on demand holder”创建单例模式的理解,参考 Spring中单例的概念限于Spring上下文中,...

    asp.net知识库

    VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...

    安全测试学习笔记二(对于top10漏洞的分析)

    问题:有问题的访问控制  测试方法:  主要用于需要验证用户身份以及权限的页面,复制该页面的url地址,关闭该页面以后,查看是否可以直接进入该复制好的地址  例:从一个页面链到另一个页面的间隙可以看到URL...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    myDesign:设计模式

    设计模式学习设计模式笔记为什么要用这种模式呢?以鸭子为例,当需要给鸭子添加飞行的功能的时候,你可能想到会在父类里面加上 fly()方法,这样所有的子类都会有fly()方法,// 鸭子父类public class Duck { private ...

    仿12306项目JDK17 + SpringBoot3&SpringCloud 微服务架构,构建高并发、大数据量下能提供购票服务

    12306 项目中包含了缓存、消息队列、分库分表、设计模式等代码,通过这些代码可以全面了解分布式系统的核心知识点。 12306 铁路购票服务是与大家生活和出行相关的关键系统,包括会员、购票、订单、支付和网关等服务...

    wps2019数据分析加载项-数据分析的思维和方法.pdf

    2019-05-04 学习笔记 学习笔记 ⼤数据特点:数据量、发⽣频率、数据种类 费雪:农业领域的实验设计法 A/B测试(随机对照测验):排除不需要的因素的评价⽅法。为同⼀个优化⽬标制定两个⽅案(⽐如两个页⾯),让⼀...

    决策树DTC数据分析及鸢尾数据集分析.doc

    那么很自然一共就只可能有2棵决策树,如下图所示: 示例3: 第三个例子,推荐这篇文章:决策树学习笔记整理 - bourneli 决策树构建的基本步骤如下: 1. 开始,所有记录看作一个节点; 2. 遍历每个变量的每一种分割...

Global site tag (gtag.js) - Google Analytics