单(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. Jersey框架二:Jersey对JSON的支持

    Jersey系列文章: Jersey框架一:Jersey RESTful WebService框架简介 Jersey框架二:Jersey对JSON的支持 Jersey框架三:Jersey对HTTPS的 ...

  2. Mongodb数据备份恢复

    Mongodb数据备份恢复 一.MongoDB数据库导入导出操作 1.导出数据库 twangback为备份的文件夹 命令: mongodump -h 127.0.0.1[服务器IP] -d advie ...

  3. A Game of Thrones(3) - Daenerys

    Her brother held the gown up for her inspection. “This is beauty. Touch it. Go on. Caress(爱抚,抚抱) the ...

  4. AMDU恢复ASM磁盘组数据(測)

    --umount ASMCMD> umoung -a asmdg commands:         md_backup, md_restor         lsattr, setattr   ...

  5. MySQL创建用户权限结果Trigger失败

    说来惭愧,MySQL我已经在只将用于,非常赞赏阶段. 甚至一些比较深层次的管理,不熟悉如何,我们要加强啊! 最近.系统测试,使用MySQL数据库,你需要在表上创建触发器.该数据库是安装在机.但.在任何 ...

  6. Nagios+pnp4nagios+rrdtool 安装配置nagios被监控端NRPE配置(二)

    NRPE监控插件基础 NRPE总共由两部分组成: (1).check_nrpe插件,运行在监控主机上. (2).NRPE daemon,运行在远程的linux主机上(通常就是被监控机) 整个的监控过程 ...

  7. Windows Phone开发(31):画刷

    原文:Windows Phone开发(31):画刷 画刷是啥玩意儿?哈,其实画刷是用来涂鸦,真的,没骗你,至于你信不信,反正我信了. 本文通过价绍几个典型的画刷,使你明白画刷就是用来涂鸦的. 一.纯色 ...

  8. Swing界面刷新问题(转)

    在Java Swing编程中,往往会遇到需要动态刷新界面的时候,例如动态刷新JLabel的文本,JTextField里的文本等等.但是往往却没有达到我们预期的效果,我相信很多朋友都遇到过本文将要说的这 ...

  9. Oracle SQL Lesson (1) - 使用SQL Select语句获取数据

    第一节课: 启动数据库并且使用特定用户连接:su - oracle; 启动sqlplus并且使用sys连接:conn / as sysdba; 启动数据库:startup; 解锁用户:alter us ...

  10. [Network]Application Layer

    1 Principles of Network Applications 1.1 Application Architectures Client-Server Peer-to-Peer Hybird ...