案例:比如说一个游戏的副本(打怪),这一个怪,当被一个人打着的时候,而不允许其他人对这个怪来操作。
不懂的地方:
1.像游戏中有那么多怪物,但是这种单例模式的话,只能生成一个对象,多个对象是怎么生成的,
2.当一个对象被使用的时候,怎么禁止被其他用户访问该对象;namespace DesignMoudle
{
class Singleton
{
private static Singleton instance;
//首先定义一个私有的构造函数,防止外部直接new一个Singleton
private Singleton()
{ }
/// <summary>
/// 定义一个静态的公共的GetInstance方法,用来使本例实例化一个唯一的全局访问点
/// </summary>
/// <returns></returns>
public static Singleton GetInstance()
{
//如果没有对象为空就new一个
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
不懂的地方:
1.像游戏中有那么多怪物,但是这种单例模式的话,只能生成一个对象,多个对象是怎么生成的,
2.当一个对象被使用的时候,怎么禁止被其他用户访问该对象;namespace DesignMoudle
{
class Singleton
{
private static Singleton instance;
//首先定义一个私有的构造函数,防止外部直接new一个Singleton
private Singleton()
{ }
/// <summary>
/// 定义一个静态的公共的GetInstance方法,用来使本例实例化一个唯一的全局访问点
/// </summary>
/// <returns></returns>
public static Singleton GetInstance()
{
//如果没有对象为空就new一个
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
解决方案 »
- dataGridView显示时候,最左边一列是一格一格的东西,如何去掉?另外,我如何点击选择某个单元,自动就选择了一列?
- DataList怎么添加行与行之间的分隔线
- 关于static成员的问题
- 在回调中操作UI的代码的意思?
- 自己编写的软件可以上传到哪些共享软件站上供广大客户免费下载试用,这些共享软件站因此收费吗?上传文件大小有限制吗?
- C# 中怎样把access数据库文件复制到另外一个目录文件夹里面
- 为什么string转化为double或float原来的1.34变化为1.34000000001了呢?
- 对象和类 是不是只有在静态的时候才有区别啊?
- c#子窗体textbox控件不能用鼠标选择文本 ::>_<:: !!!
- @"....."是啥意思
- 我有一段代码想给别人用,又不想让使用的人看见源码,怎么处理?
- devexpress xtragrid一个列名称有空格问题
namespace DesignMoudle1
{
class Singleton
{
private static Singleton instance;
private static readonly object syncRoot = new object();
//首先定义一个私有的构造函数,防止外部直接new一个Singleton
private Singleton()
{ }
/// <summary>
/// 定义一个静态的公共的GetInstance方法,用来使本例实例化一个唯一的全局访问点
/// </summary>
/// <returns></returns>
public static Singleton GetInstance()
{
//如果没有对象为空就new一个
if (instance == null)
{
lock (syncRoot)
{
if (instance == null)
{
instance = new Singleton();
}
}
}
return instance;
}
}
}