• 单例模式


    单例:通过此类,永远只能创建一个对象
    过程:
    1.创建一个类类型的静态变量
    2.编写private构造函数,给字段进行初始化
    3.编写静态方法,通过private构造函数创建类变量
    (1)判断类变量是否为空
    (2)如果为空,调用private构造函数创建类变量,不为空,直接return
    (3)函数返回类变量。继续使用创建的类变量

    设计模式--单例模式

    // 单例模式的实现
        /// </summary>
        public class Singleton
        {
            // 定义一个静态变量来保存类的实例
            private static Singleton uniqueInstance;
    
            // 定义私有构造函数,使外界不能创建该类实例
            private Singleton()
            {
            }
    
            /// <summary>
            /// 定义公有方法提供一个全局访问点,同时你也可以定义公有属性来提供全局访问点
            /// </summary>
            /// <returns></returns>
            public static Singleton GetInstance()
            {
                // 如果类的实例不存在则创建,否则直接返回
                if (uniqueInstance == null)
                {
                    uniqueInstance = new Singleton();
                }
                return uniqueInstance;
            }
        }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace _001单例设计模式
    {
        class Program
        {
            static void Main(string[] args)
            {
                Person person = Person.getInstance("Dog");
                Console.WriteLine(person.name);
    
                //Person a = Person.getInstance("PIG");只能创建一个对象
                //Console.WriteLine(person.name);
            }
        }
        class Person
        {
            public string name;
            //1.
            public static Person person;
            //2.
            private Person()
            {
                Console.WriteLine("私有无参构造函数被调用");
                name = "huang";
            }
            private Person (string _n)
            {
                Console.WriteLine("私有NO无参构造函数被调用");
                name = _n;
            }
            //3.
            public static Person getInstance(string _name)
            {
                if (person == null)
                {
                    person = new Person(_name);
                }
                return person;
            }
        }
    }

    对象池在下篇更新。

    莫说我穷的叮当响,大袖揽清风。 莫讥我困时无处眠,天地做床被。 莫笑我渴时无美酒,江湖来做壶。
  • 相关阅读:
    Justoj 2389: 拼接三角形 二分查找
    P4513 小白逛公园(线段树求区间最大子段和)
    勾股数
    费马大定理
    D1. Kirk and a Binary String (easy version)
    Find the median(线段树离散化+区间更新)
    String
    最小表示法
    扩展KMP模板(学习)
    K-th Closest Distance
  • 原文地址:https://www.cnblogs.com/huang--wei/p/10062660.html
Copyright © 2020-2023  润新知