设计模式解密(1)- 单例模式

发布时间:2017-7-1 10:58:14编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"设计模式解密(1)- 单例模式 ",主要涉及到设计模式解密(1)- 单例模式 方面的内容,对于设计模式解密(1)- 单例模式 感兴趣的同学可以参考一下。

1、前言

1-1、 概述

  设计模式 = 某类特定问题的解决方案,那么单例模式是解决什么问题的解决方案呢?

  含义:单例  =  一个实例

  解决的问题:在任何时间内只有一个类实例存在的模式

  解决方法:保证一个类只有一个实例化对象,并提供一个全局访问入口

  本质:控制实例的数量

  注意:要合理的使用单例,避免单例成为瓶颈

1-2、问题引入

模拟网站访问数量统计功能:

package com.designmode.singleton;

/**
 * 网站计数器
 */
class WebCounter {
    private int count = 0;

	public int getCount() {
		return count;
	}
	public void setCount(int count) {
		this.count = count;
	}
}

/**
 * 用户访问
 */
class Visitor{
	public WebCounter webCounter;
	public Visitor(WebCounter mwebCounter){
		webCounter = mwebCounter;
	}
	//访问
	public void visit(){
		webCounter.setCount(webCounter.getCount()+1);;
	}
}
/**
 * 模拟用户访问网站
 */
public class SingleTest{
	public static void main(String[] args){
		WebCounter webCounter1 = new WebCounter();
		WebCounter webCounter2 = new WebCounter();
		Visitor visitor1 = new Visitor(webCounter1);
		Visitor visitor2 = new Visitor(webCounter2);

        System.out.println("是不是同一个网站?");
        if(webCounter1.equals(webCounter2)){
            System.out.println("是");
        }else {
            System.out.println("不是");
        }
        //visitor1访问该网站
        visitor1.visit();
        System.out.println("访问量:" + webCounter1.getCount());
        //visitor2访问该网站
        visitor2.visit();
        System.out.println("访问量:" + webCounter2.getCount());
    }


上一篇:转: 将Eclipse代码导入到AndroidStudio的两种方式 ,测试了方法2,成功。
下一篇:Yii2 redactor的使用

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款