Asp.Net 设计模式 之 “”特殊“”的单例模式

  • 特殊的单例模式

要点在这里,提前预览:

public SingleDemo() {
name = "yy";
age = 20;
//特殊的单例,this指代得失当前的SingleDemo
//将单例变量初始化
instance = this;
}

  • 源码部分:
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace SingleCaseModel
 8 {
 9     class SingleDemo {
10         public static SingleDemo instance;
11         public string name;
12         public int age;
13         //可以是无参构造函数
14         public SingleDemo() {
15             name = "yy";
16             age = 20;
17             //特殊的单例,this指代得失当前的SingleDemo
18             //将单例变量初始化
19             instance = this;
20         }
21         //也可以写成有参构造函数
22         public SingleDemo(string n,int a) {
23             name = n;
24             age = a;
25             //将单例变量初始化
26             instance = this;
27         }
28     }
29     class Program
30     {
31         static void Main(string[] args)
32         {
33             //调用无参构造函数,实例化SingleDemo这个类,使this关键字初始化,并能够调用构造函数
34             //instance=sd
35             //注意:SingleDemo sd = new SingleDemo();只能实例化一次,不能实例多个,
36             //否则将以最后实力的一个为基础来进行使用
37             SingleDemo sd = new SingleDemo();
38             Console.WriteLine(SingleDemo.instance.name);
39             //写成如下方式也可以,只是如果是在另外的其他页面进行调用单例模式的话,要写成上面这种
40             //Console.WriteLine(sd.name);
41             Console.ReadKey();
42         }
43     }
44 }
时间: 2024-11-13 08:12:29

Asp.Net 设计模式 之 “”特殊“”的单例模式的相关文章

Java设计模式(二)-单例模式

单例模式建议保证某个对象仅仅只有一个实例,当只有一个对象来协调整个系统的操作时,在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单例,总之,选择单例模式就是为了避免不一致状态,避免政出多头. 下面是单例模式的类图:包括的private和static修饰的实例instance.一个private的构造函数.一个static的getInstance函数 单例模式主要有三种:懒汉式单例.饿汉式单例.登记式单例三种 1.饿汉式单例:在类的初始化时候,自行创建了实例 c

Asp.net设计模式笔记之一:理解设计模式

GOF设计模式著作中的23种设计模式可以分成三组:创建型(Creational),结构型(Structural),行为型(Behavioral).下面来做详细的剖析. 创建型 创建型模式处理对象构造和引用.他们将对象实例的实例化责任从客户代码中抽象出来,从而让代码保持松散耦合,将创建复杂对象的责任放在一个地方,这遵循了单一责任原则和分离关注点原则. 下面是“创建型”分组中的模式: 1.Abstract Factory(抽象工厂)模式:提供一个接口来创建一组相关的对象. 2.Factory Met

设计模式(1)--单例模式(Singleton Pattern)

概述 一个类能返回对象一个引用(永远是同一个)和一个获得该实例的方法(必须是静态方法,通常使用getInstance这个名称):当我们调用这个方法时,如果类持有的引用不为空就返回这个引用,如果类保持的引用为空就创建该类的实例并将实例的引用赋予该类保持的引用:同时我们还将该类的构造函数定义为私有方法,这样其他处的代码就无法通过调用该类的构造函数来实例化该类的对象,只有通过该类提供的静态方法来得到该类的唯一实例. 特点 根据上面所述,单例模式有如下特点: 单例类只能有一个实例: 单例类必须自己创建自

ASP.NET 设计模式中依赖倒置原则

依赖倒置原则 A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象. B.抽象不应该依赖于具体,具体应该依赖于抽象. 依赖倒置原则 A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象. B.抽象不应该依赖于具体,具体应该依赖于抽象. 目录 1概述 2意图 3代码实现 4结构图 1概述编辑 所谓依赖倒置原则(Dependence Inversion Principle)就是要依赖于抽象,不要依赖于具体.简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现

ASP.NET 设计模式(转)

Professional ASP.NET Design Patterns 为什么学习设计模式? 运用到ASP.NET应用程序中的设计模式.原则和最佳实践.设计模式和原则支持松散耦合.高内聚的代码,而这将提升代码的可读性.灵活性和可维护性.对于那些已经有很好解决方法的任务,没有理由再去进行重复劳动. 著名建筑学家克里斯托弗·亚历山大 Christopher Alexander 曾经说过:每种模式描述了一个在我们周围不断重复发生的问题,以及该问题解决方案的核心,这样你就可以一次又一次地使用该方案而不

java设计模式(二)单例模式 建造者模式

(三)单例模式 单例模式应该是最常见的设计模式,作用是保证在JVM中,该对象只有一个实例存在. 优点:1.减少某些创建比较频繁的或者比较大型的对象的系统开销. 2.省去了new操作符,降低系统内存使用频率,减轻GC压力. 3.保证核心代码的唯一性,比如交易引擎. 单例模式看似是最简单的设计模式. public class Singleton { //私有构造方法,防止实例化 private Singleton(){ } //创建类的实例的时候加载 private static Factory f

大话设计模式读书笔记2——单例模式

单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源.如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案. 我们来看一下单例模式下的饿汉模式代码: /// <summary> /// 饿汉模式 /// </summary> public class Singleton { //私有的构造器 private Singleton() {

Asp.Net 设计模式 之 单例模式

一.设计目的:让项目中只显示一个实例对象 二.设计步骤: 创建一个类: 构建类类型静态变量: 定义返回值类为单例类型的静态方法: 判断静态变量instance是否为空:如果为空,就创建实例,然后给单例类中的字段进行赋值:如果不为空:返回此变量(return instance;) 单例模式创建成功: 三.项目相关名词或知识点解释 此处类类型:如果当前类为SingleCase,则此静态变量类型也要为SingleCase类型, 即在此处定义的静态变量的类型要和这个当前类的类型相同 定义单例实例变量时,

Unity3d与设计模式(二)单例模式

为什么要使用单例模式 在我们的整个游戏生命周期当中,有很多对象从始至终有且只有一个.这个唯一的实例只需要生成一次,并且直到游戏结束才需要销毁. 单例模式一般应用于管理器类,或者是一些需要持久化存在的对象. Unity3d中单例模式的实现方式 (一)c#当中实现单例模式的方法 因为单例本身的写法不是重点,所以这里就略过,直接上代码. 以下代码来自于MSDN. public sealed class Singleton { private static volatile Singleton inst