C#之设计模式

Posted 刘冠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#之设计模式相关的知识,希望对你有一定的参考价值。

单例

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);//实现
        }
    }
}

 

以上是关于C#之设计模式的主要内容,如果未能解决你的问题,请参考以下文章

此 Canon SDK C++ 代码片段的等效 C# 代码是啥?

是否可以动态编译和执行 C# 代码片段?

C#常用代码片段备忘

优化 C# 代码片段、ObservableCollection 和 AddRange

C#设计模式之总结篇

VS2015使用技巧 打开代码片段C#部分