zoukankan      html  css  js  c++  java
  • C#之设计模式

    单例的一种实现方式

    1.构造函数私有化

    2.声明一个静态字段,作为全局唯一的单例对象

    3.声明一个静态函数,返回全局唯一的对象

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 单例 {
        class Program {
            static void Main(string[] args) {
                Singleton instance1 = Singleton.Instance;
                Singleton instance2 = Singleton.Instance;
                bool result = object.ReferenceEquals(instance1, instance2);
                Console.WriteLine(result);
                Console.ReadKey();
            }
        }
        public sealed class Singleton {
            private static Singleton _instance;
            private static object obj = new object();
            private Singleton() { }
            public static Singleton Instance{
                get {
                    if(_instance == null) {
                        lock (obj) {
                            if(_instance == null) {
                                _instance = new Singleton();
                            }
                        }
                    }
                    return _instance;
                }
            }
        }
    
    }

    代理

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 代理 {
        class Program {
            delegate void MyDelegate(string str);
            static void Main(string[] args) {
                MyDelegate md = new MyDelegate(DelegateText.Function);
                md("刘冠");//调用
                Console.ReadLine();
            }
        }
        //一个类调用,另一个类实现
        public class DelegateText {
            public static void Function(string str) {
                Console.WriteLine(str);//实现
            }
        }
    }
  • 相关阅读:
    计算机网络
    JAVA基础--面试用
    springboot-高级(一)
    SQL语句(一)
    spring cloud
    ruoyi后台管理系统分析(六)----system包
    ruoyi后台管理系统分析(五)---quartz包
    Java基于opencv实现图像数字识别(一)
    Leetcode : eImplement strStr
    二叉树的前序、中序、后序遍历迭代实现
  • 原文地址:https://www.cnblogs.com/liuguan/p/6254618.html
Copyright © 2011-2022 走看看