西拉免费代理IP
你当前的位置:西拉免费代理IP > 新闻中心 > 什么是单列(singleton)?
来源: 西拉IP 作者: 张祁无 2018年12月11日 14:36
单例
是一个类,它只允许创建自身的单个实例,并允许访问该创建的实例。它包含可以容纳自身的唯一和私有实例的静态变量。当用户想要将类的实例化限制为仅一个对象时,它用于场景中。当需要单个对象来协调系统中的操作时,这通常很有用。
单例模式用于编程语言(如Java和.NET)以定义全局变量。跨系统使用的单个对象保持不变,只需定义一次而不是多次。
单例旨在提供自身的一个实例,同时促进全局访问点。实现单例模式涉及使用创建类的新实例的方法创建类。为了实现单例模式,必须满足单实例和全局访问的原则。单例类就像是自身实例的全局存储库,使构造函数变为私有。因此,根本无法创建类外部的实例,并且单例只能包含一个实例。单例类实例化自身并跨系统维护该实例。
抽象工厂,建造者和原型模式可以使用单身人士。外墙物体和静态物体通常是单体。Singleton实现需要一种机制,通过该机制可以访问类成员,而无需创建类对象并保持类对象中类成员的值。创建单例的步骤如下:
1、构造函数是私有的。这允许只有类才能访问单例。
示例:
class testdata
{ Private testdata()
{
// ... no-op for singleton
2、使用方法创建类的单个内部实例。在此示例中,该方法称为实例。方法“instance”用于初始化类以访问单个实例。在此示例中,instance方法被标记为static,以便为所有线程提供一致的访问权限。在实例创建之外,“lock”语句用于控制多线程访问。这会将实例创建锁定到单个线程。
示例:
//懒惰创建单例内部实例
公共静态testdata实例
{
Get
{
Lock(type(of testdata))
{ If(_instance == null)
_instance = testdata();
}
返回_instance;
}
}
阅读 371
相关推荐
友情链接
全网最大的免费网页代理ip平台,提供大量免费http代理服务器和免费ip代理地址
© 2016 - 2021. 西拉免费代理ip, All rights reserved. 鄂ICP备18017015号-4