`
何日钊
  • 浏览: 5025 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

最简单的设计模式

阅读更多

前段时间偶尔去图书馆逛逛,说实在的,信息学部图书馆的环境实在不咋的,不能久坐。

 

《head first 设计模式》看到一半了,研究设计模式是从去北邮时看到那本漫谈设计模式开始的,写代码也是一种境界

 

呀。这本书图与文、理论与生活结合,看起来很轻松惬意,其中单态设计模式最简单了,很少写博客,当然得从简单写起了,

 

纯粹回忆吧。

 

单态,观其名,只能有一个实例。有以下特点:

 

1. 全局访问,实例static化;

 

2. 构造函数私有化,通过Singleton.getInstance()获得实例;

 

3. 不想从一开始就获得实例,可通过判断实例化,空时实例,非空那里用;

 

4. 多线程中注意线程安全,用synchronized加锁;

 

5. 线程安全了,但却性能下降,用volatile和synchronized加双锁;

 

综合以上特点,得以下代码:

 

 

public class Singleton {
	private volatile static Singleton uniqueInstance;
 
	private Singleton() {}
 
	public static Singleton getInstance() {
		if (uniqueInstance == null) {
			synchronized (Singleton.class) {
				if (uniqueInstance == null) {
					uniqueInstance = new Singleton();
				}
			}
		}
		return uniqueInstance;
	}
}
 

 

有适合的问题时,就用此方案解决吧。

 

首次发博,诚邀读者指出不对之处,感激涕流啊。

分享到:
评论

相关推荐

    最简单的理解设计模式

    最简单的理解设计模式,设计模式对比学习,设计模式特性分析

    java最简单的设计模式

    在Java编程领域,设计模式是一种经过时间和实践验证的解决方案,用于解决常见的软件设计问题。设计模式不是特定的代码或库,而是一种通用的、可复用的、面向对象的设计方案,它描述了在特定上下文中如何高效地设计类...

    设计模式解析.pdf

    书籍作者分享了个人学习设计模式的心路历程,强调了从简单的面向对象编程到深入理解设计模式,再到真正领悟面向对象设计精髓的过程。作者曾自认为在面向对象分析与设计方面有相当的造诣,拥有多个行业的设计与实现...

    java 23种设计模式最全最简单的例子

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决问题的经验总结,可以提高代码的可重用性、可维护性和灵活性。23种设计模式是GOF(Gamma, Helm, Johnson, Vlissides)在《设计模式:可复用面向对象...

    六种微服务架构的设计模式.pdf

    聚合器微服务设计模式是最常用和最简单的微服务架构设计模式。在这种模式下,聚合器服务调用多个服务来实现应用程序所需的功能。它可以是一个简单的Web页面,将检索到的数据进行处理和展示。它也可以是一个更高层次...

    java模式,设计模式,多种设计模式

    需要注意的是,J2EE设计模式解决了J2EE项目中最常见的问题。如果你遇到的问题非常特殊,很可能找不到相应的设计模式来解决。 ##### 4.2 软件开发设计模式 软件开发设计模式又可以进一步分为两类:通用面向对象设计...

    java版本的设计模式的实现demo

    设计模式是软件开发中的经典实践,它们为解决特定问题提供了通用、可复用的解决方案。在Java编程中,运用合适的设计模式可以提高代码的可维护性、可扩展性和可复用性。以下是关于Java版本设计模式实现demo的一些补充...

    java设计模式案例

    当引入设计模式会导致系统过于复杂时,这意味着我们可能错误地处理了问题,原本简单的问题被复杂化了。 总结来说,设计模式是软件开发中的有力工具,但正确理解和应用它们需要实践、反思和持续学习。通过对设计模式...

    java设计模式中最简单的工厂设计模式的实例

    工厂设计模式是其中最基础且常用的一种,它属于创建型设计模式,主要用于对象的创建。本实例将深入讲解工厂设计模式的概念、结构以及如何在实际项目中应用。 ### 工厂设计模式概述 工厂设计模式的核心思想是定义一...

    设计模式最简单易懂的教程

    这个教程旨在提供一个简洁易懂的设计模式学习路径,通过简单的例子帮助初学者快速掌握设计模式的核心概念。 在设计模式的世界里,我们可以将其分为三类:创建型模式、结构型模式和行为型模式。创建型模式主要关注...

    c++ 设计模式 简单工厂模式

    简单工厂模式: 具体实现了一个计算器的代码,首先计算器应该具备对两个数字进行运算的功能,而运算的方法可以有很多种(最基础的有加,减,乘,除), 并且代码易于移植,这里是个console的应用台界面,也应该可以...

    python 项目里常用的设计模式 组合模式 策略模式 抽象工厂 代理模式 工厂模式 观察者模式 简单工厂 建造者模式 模板模式

    python 项目里常用的设计模式 单例模式 组合模式 策略模式 抽象工厂 代理模式 工厂模式 观察者模式简单工厂 建造者模式 模板模式 桥接多维度 桥接模式 适配器模式 外观模式 享元模式 责任链组合模式

    最简单的设计模式学习Singleton模式

    ### 最简单的设计模式学习:Singleton模式 #### 一、Singleton模式简介 Singleton(单例)模式是一种常用的软件设计模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点。这种模式在许多场合下非常...

    23种JAVA设计模式和15种J2EE设计模式

    ### 23种JAVA设计模式和15种J2EE设计模式详解 #### 一、JAVA设计模式概览 在软件工程领域,设计模式是一种在特定情境下解决常见问题的有效方法。Java作为一种广泛使用的编程语言,拥有丰富的设计模式库来帮助...

    MVC设计模式例子程序

    **MVC设计模式详解** MVC(Model-View-Controller)设计模式是一种广泛应用于软件开发,尤其是Web应用程序中的架构模式。它将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以此...

    设计模式C++版(pdf版)

    ### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 引言 设计模式是软件工程领域中一个极为重要的概念,它代表着一系列被广泛接受的解决特定问题的方法。GoF(Gang of Four)所提出的23种设计模式更是...

    Java设计模式

    简单工厂模式是最简单的设计模式之一,它虽然不属于GoF的23种设计模式,但是应用也较为频繁,同时它是学习其他创建型模式的基础。在简单工厂模式中只需要记住一个简单的参数即可获得所需的对象实例,它提供专门的...

    设计模式对比分析

    最简单理解设计模式,个模式特征对比分析,分析模式的特性和差别

    28种最全设计模式源码.zip

    设计模式是软件工程中的一种最佳实践,用于解决在开发过程中常见的设计问题。这些模式通过将通用解决方案模式化,使得开发者可以快速理解和复用这些解决方案,提高代码的可读性、可维护性和可扩展性。本资源包含28种...

    二十三种设计模式【PDF版】

    之道 》,其中很多观点我看了很受启发,以前我也将"设计模式" 看成一个简单的解决方案,没有从一种高度来看待"设计模式"在软 件中地位,下面是我自己的一些想法: 建筑和软件某些地方是可以来比喻的 特别是中国传统建筑...

Global site tag (gtag.js) - Google Analytics