Singleton设计模式(单实例)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//Singleton设计模式(单实例)
namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            //案例:
            Singleton s = Singleton.getSingleton();
            s.name = "asd";
            Singleton s1 = Singleton.getSingleton();
            s1.ShowMsg();
            Console.ReadKey();
        }
    }
    class Singleton
    {
        //静态类(自己)
        private static Singleton singleton = null;
        //私有构造函数
        private Singleton() { }
        public static Singleton getSingleton()
        {
            if (singleton == null)
                singleton = new Singleton();//实例化
            return singleton;
        }

        public string name { get; set; }
        public void ShowMsg()
        {
            Console.WriteLine(name);
        }
    }
}
时间: 2024-12-28 18:13:44

Singleton设计模式(单实例)的相关文章

C#设计模式-单实例

单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点. 1.经典的模式 namespace singleClass { class OnlyOneClass { private OnlyOneClass() { } private static OnlyOneClass instance; public static OnlyOneClass getInstance() { if (instance == null) { in

深入浅出单实例Singleton设计模式

单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了.这个设计模式主要目的是想在整个系统中只能出现一个类的实例.这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等.你希望这个类在整个系统中只能出现一个实例.当然,作为一个技术负责人的你,你当然有权利通过使用非技术的手段来达到你的目的.比如:你在团队内部明文规定,“XX类只能有一个全局实例,如果某人使用两次以上,那么该人将被处于2000元的

设计模式--单例(singleton)实例

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span> 单例模式的英文原文是:Ensure a class has only one instance, and provide a global point of access to it.意思是,确保一个类只有一个实例,并向整个系统提供这个实例.单例模式主要是确保

创建型---单实例 Singleton

代码: 1 package com.design; 2 3 /** 4 * 测试类 5 * @author Administrator 6 * 7 */ 8 public class Test { 9 /** 10 * 主函数 11 * @param args 12 */ 13 public static void main(String[] args) { 14 Singleton first_inst = Singleton.getInstance(); 15 first_inst.setS

设计模式(三)单实例模式

引言 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务:一个系统只能有一个窗口管理器或文件系统:一个系统只能有一个计时工具或ID(序号)生成器.如在Windows中就只能打开一个任务管理器.如果不使用机制对窗口对象进行唯一化,将弹出多个窗口,如果这些窗口显示的内容完全一致,则是重复对象,浪费内存资源:如果这些窗口显示的内容不一致,则意味着在某一瞬间系统有多个状态,与实际不符,也会给用户带来误解,不知道哪一个才是真实的状态.因此有时确保

关于python的单实例模式

单实例模式一直是常用的设计模式,对于python的单实例模式,其实其本身就有实现 http://stackoverflow.com/questions/31875/is-there-a-simple-elegant-way-to-define-singletons-in-python/31887#31887 里面说到module,module只会初始化一次,天然的singleton.这是最为python的解决方案.将你所需要的属性和方法,直接暴露在模块中变成模块的全局变量和方法即可. 另外,如果

Javascript 设计模式 单例

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/30490955 一直很喜欢Js,,,今天写一个Js的单例模式实现以及用法. 1.单例模式的写法 单例模式写法相当简单: var singleTon = { m1: "memeber first ", m2: "memeber second ", f1: function () { console.log("fun1 "); } }

常用设计模式 简单实例

1.单例设计模式 所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类(Singleton类)永远只会有一个实例化对象产生.具体实现步骤如下: (1) 将采用单例设计模式的类的构造方法私有化(采用private修饰). (2) 在其内部产生该类的实例化对象,并将其封装成private static类型. (3) 定义一个静态方法返回该类的实例. 示例代码如下: Java代码   class Singleton { private static Singleton instance =

单实例和多实例的区别以及用途

1.单实例和多实例 单实例一般会在类中自己实例化,通过getInstance获取该实例.ps: /** * 单例模式 */ public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() {} public static Singleton getInstance() { return singleton; } 多实例则可以随意new.ps: public cla