真爱无限的知识驿站

学习积累技术经验,提升自身能力

WPF入门练习01-bypkm

说到wpf,我之前以为它会很难,不过学了一点知识之后,我觉得和winform差不多,最大的差别就是wpf前台布局是使用相当于XML的语言来编写的,不过学了一下也就懂了。

下面就是练习的两个简单的例子:

单例模式的优化-双重锁定

三种单例模式写法:

    public class Singleton
    {
        private static Singleton instance;
        private static readonly object syncRoot = new object();
        private Singleton() { }
        public static Singleton GetInstance()
        {
            if (instance == null)//Double-Check Locking 双重锁定,比直接lock性能更好,最完美的模式(懒汉式单例)
            {
                lock (syncRoot)
                {
                    if (instance == null)
                    {
                        instance = new Singleton();
                    }
                }
            }
            return instance;
        }
    }
    public class Singleton1
    {
        private static Singleton1 instance;
        private static readonly object syncRoot = new object();
        private Singleton1() { }
        public static Singleton1 GetInstance()
        {
            lock (syncRoot)//每次调用GetInstance都需要lock,影响性能(懒汉式单例)
            {
                if (instance == null)
                {
                    instance = new Singleton1();
                }
            }
            return instance;
        }
    }
    public class Singleton2
    {
        private static Singleton2 instance=new Singleton2();//静态初始化方式(饿汉式单例),类一加载就实例化对象,一般这样用也没问题,缺点:提前占用系统资源
        private Singleton2() { }
        public static Singleton2 GetInstance()
        {
            return instance;
        }
    }

.Net中使用WCF构建简单的基于B/S和C/S的服务

第1步:创建接口

namespace WCF.Interface
{
    //[ServiceContract(CallbackContract=typeof(ICallback))]//回调接口(全双工)
    [ServiceContract]
    public interface ICalculator
    {
        [OperationContract]
        double Add(double x, double y);
    }
}


<< < 4 5 6 7 8 9 10 11 12 13 >>

Powered By Z-BlogPHP 1.7.3

Copyright 2024-2027 pukuimin Rights Reserved.
粤ICP备17100155号