度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 1717|回复: 3
打印 上一主题 下一主题

[分享] Asp.Net 设计模式 之 单例模式

[复制链接]

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
跳转到指定楼层
楼主
发表于 2020-5-14 18:12:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、设计目的:让项目中只显示一个实例对象
二、设计步骤:
  • 创建一个类;
  • 构建类类型静态变量;
  • 定义返回值类为单例类型的静态方法;
  • 判断静态变量instance是否为空:如果为空,就创建实例,然后给单例类中的字段进行赋值;如果不为空:返回此变量(return instance;)
  • 单例模式创建成功;
三、项目相关名词或知识点解释
  • 此处类类型:如果当前类为SingleCase,则此静态变量类型也要为SingleCase类型,
  • 即在此处定义的静态变量的类型要和这个当前类的类型相同
  • 定义单例实例变量时,尽量都用instance(实例)来指代,方便以后自己和他人对代码的阅读。
  • 静态变量在内存中只有一个,只占一份儿
四、相关源码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SingleCaseModel00
{
    /// <summary>
    /// 1.创建这么一个类
    /// </summary>
    class SingleCase
    {
        //2.构建类类型静态变量
        //此处类类型:如果当前类为SingleCase,则次静态变量类型也要为SingleCase类型,
        //即在此处定义的静态变量的类型要和这个当前类的类型相同
        //定义单例实例变量时,尽量都用instance(实例)来指代,方便阅读
        //静态变量在内存中只有一个,只占一份儿
        public static SingleCase instance = null;
        //10.定义一个字段,用来进行测试
        public string name;
        //3.定义返回值类为单例类型的静态方法
        public static SingleCase getInstance(string n)
        {
            //4.判断静态变量instance是否为空
            if (instance == null)
            {
                //5.如果为空,就创建实例
                instance = new SingleCase();
                //6.给单例类中的字段进行赋值
                instance.name = n;
            }
            //7.返回此变量
            return instance;
        }
        //8.如果这个类中还有其他的字段,那么直接在下面写出来即可
        //如下:
        //public string Name;
        //public int Age;
    }
    class Program
    {
        static void Main(string[] args)
        {
            //9.调用上述单例类中方法,测试单例类
            SingleCase s1 = SingleCase.getInstance("我是第一次传过来的参数");
            SingleCase s2 = SingleCase.getInstance("我是第二次传过来的参数");
            Console.WriteLine(s1.name);
            Console.WriteLine(s2.name);
            Console.ReadKey();
        }
    }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
沙发
 楼主| 发表于 2020-5-14 18:13:22 | 只看该作者
回复

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
板凳
发表于 2020-5-15 17:10:45 | 只看该作者
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
地板
发表于 2020-5-15 17:10:46 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-27 12:46 , Processed in 0.138725 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表