java和设计模式(单例模式)
Posted 嵌入式-老费
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java和设计模式(单例模式)相关的知识,希望对你有一定的参考价值。
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
设计模式还是蛮有意思的。编写软件的同学都知道,除了软件功能开发之外,还要及时处理软件的需求变更。大部分情况下,软件功能开发都还好,关键是这需求变更处理起来很麻烦。有的时候,在架构设计的时候,就要提前把相关接口留好,以备将来扩展使用。
如果接口留的好、早有准备,那么程序的新功能添加、需求变更都会变得简单、高效。但是,一旦接口变得复杂,没有抽离出主流程,功能编写变成了硬编码,那么后续就是无穷无尽的烦恼。设计模式就是对这种主流程和接口方式的总结。开发的代码越多,就越能体会到这种设计开发模式的好处。
singleton模式,也就是说某一种class只有一个instance。这在c++和java中都是常用的考题之一,适合好好掌握和理解。
画图是锻炼自己理解能力的一个好方法,而不仅仅是代码。图中的过程抽象,脱离了语言本身,可以很好地说明问题的本质。假设有一个类single,如果想要获取它的实例,那么只能通过get_instance来获取,因为构造函数是私有的。与此同时,在类内部还有一个静态变量s,如果这个实例没有被初始化过,那么就初始化一下;如果已经被初始化过,那么返回s即可。这就是单例模式。
import java.io.*;
public class single
public static single s;
private single()
System.out.println("single()");
return ;
public static single get_instance()
if(null == s)
s = new single();
return s;
public static void main(String args[])
single s = single.get_instance();
简单编码、运行一下即可,
shell> javac single.java && java single
single()
以上是关于java和设计模式(单例模式)的主要内容,如果未能解决你的问题,请参考以下文章