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

时间:2022-07-04 10:26:59

单(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. Vijos1921严厉的班长

    传送门 在贴吧上看到了这道题,恰好最近在学相关的东西,觉得比较有意思就去做了. 第一眼看上去比较像搜索,其实是道状压DP.我简单讲一下思路: 首先明确,不管之前取了什么数,取1必定满足所有的数之间互质 ...

  2. jQuery.ajax() 函数详解

    jQuery.ajax()函数用于通过后台HTTP请求加载远程数据. jQuery.ajax()函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据. ...

  3. 如何rename sqlserver database

    Problem Sometimes there is a need to change the name of your database whether this is because the or ...

  4. Pyhont 网络编程【第一篇】初始Socket网络套接字

    一.什么是socket: Socket 别名 “网络套接字”,指网络通信链句柄 其实就是一堆网络信息(ip+端口) 建立起的链接称之为socket,Socket的英文原义是“孔”或“插座”,用来实现不 ...

  5. ssh环境搭建并实现登录功能

    参照了这篇博客,但是里面有些地方进行了更改 http://wenku.baidu.com/link?url=edeegTquV2eR3CJ5-zvNcJbyuq11Afp-lD2Fz2jfmuHhV1 ...

  6. AngularJS 课程

    AngularJS 教程(点我) AngularJS 通过新的属性和表达式扩展了 HTML. AngularJS 能够构建一个单一页面应用程序(SPAs:Single Page Application ...

  7. 手动es6编译es5(命令行)

    package.json:"devDependencies": { "babel-cli": "^6.18.0", "babel- ...

  8. Mysql_安装

    安装环境:win7 1.下载zip安装包: MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/downloads/file/?id=476233, ...

  9. 高并发面试必问:分布式消息系统Kafka简介

    转载:https://blog.csdn.net/caisini_vc/article/details/48007297 Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成 ...

  10. 【BZOJ】1662: [Usaco2006 Nov]Round Numbers 圆环数(数位dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1662 这道题折腾了我两天啊-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 果然 ...