单(Singleton创建模式)c#简单的例子

当需要生成一个实例,可单发模式

样品可以在短短的球员中产生,玩家和测试。单线程例子,如以下:

namespace singletonpattern
{
public partial class SingletonForm : Form
{
public SingletonForm()
{
InitializeComponent();
} private void btnDisplay_Click(object sender, EventArgs e)
{
player player1 = player.GetPlayer;
player1.jump = "跳一跳";
player1.move = "走一走";//对player1赋值
listBox1.Items.Add("------play1.jump,player1.move-------");
listBox1.Items.AddRange(new string[] { player1.jump, player1.move }); player player2 = player.GetPlayer;//未对player2赋值,但值与player1同样
listBox1.Items.Add("------play2.jump,player2.move-------");
listBox1.Items.AddRange(new string[] { player2.jump, player2.move }); player1.jump = "跳一跳,跑一跑";
player1.move = "走一走,看--看";//改动的player1。player2也被改动,说明是同一个类
listBox1.Items.Add("------play2.jump,player2.move-------");
listBox1.Items.AddRange(new string[] { player2.jump, player2.move }); listBox1.Items.Add(object.ReferenceEquals(player1, player2));//显示为true,说明两个为同一个类 }
}
class player
{
private player()//单例第一步,设构造函数为私有的。 { }
private static player getplayer;
public static player GetPlayer//第二步获取单例
{
get
{
if (getplayer == null)//推断是否实例唯一
{
getplayer = new player();
}
return getplayer;
} }
public string jump { get; set; }//单例中的属性
public string move { get; set; }
}
}

当中

 private static player getplayer;
public static player GetPlayer//第二步获取单例
{
get
{
if (getplayer == null)//推断是否实例唯一
{
getplayer = new player();
}
return getplayer;
} }

可简化为一句

       public static readonly player GetPlayer = new player();//简化单例模式

此文件由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688

版权声明:本文博客原创文章。博客,未经同意,不得转载。

Singleton模式(Singleton创建类型)c#简单的例子的更多相关文章

  1. 第一式、单例模式-Singleton模式(创建型)

    一.简介 单例模式主要用的作用是用于保证程序运行中某个类只有一个实例,并提供一个全局入口点.单例模式(Singleton)为GOF阐述的标准24种设计模式中最简单的一个.但随着时间推移,GOF所阐述的 ...

  2. Singleton模式——对象创建型模式

    Singleton模式即为单例模式/单件模式. (一)意图--保证一个类仅有一个实例,并提供一个访问它的全局访问点. 如一台计算机可以有多个端口,但是应该统一管理这些端口,避免访问冲突.--选择Sin ...

  3. .NET C# 创建WebService服务简单的例子

    Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 WebService的特性有以下几点: 1.使用XML(标准通用标记语言)来作为数据交互 ...

  4. .NET创建WebService服务简单的例子

    Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 WebService的特性有以下几点: 1.使用XML(标准通用标记语言)来作为数据交互 ...

  5. Singleton 模式

    个人认为 Singleton 模式是设计模式中最为简单.最为常见.最容易实现,也是最应该熟悉和掌握的模式.且不说公司企业在招聘的时候为了考察员工对设计的了解和把握,考的最多的就是 Singleton ...

  6. 1、Singleton 单件(创建模式)

    一.Singleton模式主要应用在一些特殊的类,在整个系统运行中,有且仅有一个实例的场景 二.Singleton模式分为单线程与多线程情况,当然多线程一样适应单线程 单线程:在这种情况下比较容易,因 ...

  7. 【创建型】Singleton模式

    单例模式可以说是所有23种设计模式中最为简单的一个,没有之一.其主要思想就是保证整个应用环境中,最多只会有一个对象的实例.类关系图参考如下: 在c++中,单例模式的实现,较为常用的实现方式一般为: n ...

  8. 设计模式(二)单件模式Singleton(创建型)

    SINGLETON(单件)—对象创建型模式 几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的.您希望在应用程序中共享数据库句柄,因为在保持连接打开或关 ...

  9. 设计模式01: Singleton 单例模式(创建型模式)

    Singleton 单例模式(创建型模式) 动机(Motivation)当进行软件开发是会有这样一种需求:在系统中只有存在一个实例才能确保它们的逻辑正确性.以及良好的效率.这应该是类设计者的责任,而不 ...

随机推荐

  1. BlueJ的code pad

    Java的REPL BlueJ的code pad实用吗?Java对(Read-Eval-Print Loop)不提供原生支持.这样的"交互式解释器"或"交互式编程环境&q ...

  2. 30第二建筑Github Page

    从我原来博客的前端传输.链接:http://www.hacke2.cn/create-github-page/ 假设中国每一个程序猿都写博客,那么中国IT届的春天就来了 有同学问我的站点是怎么创建的, ...

  3. 用XAML做网页!!—开篇

    原文:用XAML做网页!!-开篇 这几日一直没发表新文章,一来是因为事比较多,二来就是我在研究使用XAML挑战传统HTML来做网页,这很可能是在全球的首次尝试,至少我从未找到任何可供参考的相关资料. ...

  4. SVNKIT一段代码的分析

    打印SVNkit版本库中的结构: 函数如下: 调用方法如下: listEntries(repository, ""); System.out.println("XXXXX ...

  5. 关于oracle的备份 导入

    ****假设要保存为bat文件.最好用汉字 导入: imp clsoftoa/clsoftoa@orcl124  --要导入的数据库的 username/password@数据库名 fromuser= ...

  6. JDBC与反射

    什么是JDBC Java定义了一套关于连接使用数据库的规范(接口)叫做JDBC,许多数据库厂商实现了这个规范,所以我们可以通过Java提供的接口编程,使得我们更换数据库的时候不用修改原来的代码,只需要 ...

  7. C#之再议数组和集合

    1.数组 1.1简单数组 1.2 多维数组 1.3锯齿数组 1.4Array数组 1.5作为参数的数组 1.6枚举 1.7结构 以上部分可参考 http://www.cnblogs.com/ztb12 ...

  8. 基于MVC3下拉列表联动(JQuery)

    上次项目中遇到一个需要多个下拉列表联动的操作,今天有空将实现方式整理以便以后参考. 要达到的效果是,点击一个下拉框,则另一个下拉框的值发生对应变化.如:选择中国,则另个一下拉框里显示中国各个省份. 传 ...

  9. 微软 Build 2016

    微软 Build 2016年开发者大会发布多项功能升级 微软Build 2016开发者大会在美国旧金山的莫斯康展览中心开幕.本次大会对一些重点功能进行了完善.如手写笔支持技术Windows Ink.语 ...

  10. SpringMVC(转)

    http://www.cnblogs.com/liukemng/p/3725582.html