当前位置: 首页 > news >正文

哪里找人做网站运营方案怎么写

哪里找人做网站,运营方案怎么写,长沙网站推广和优化,如何自己开发网站单例模式可以保证一个类有且只有一个实例,并提供一个访问它的全局访问点.在程序设计中,有很多情况需要确保一个类只能有一个实例.从这句话可以看出,Singleton模式的核心#xff1a;如何控制用户使用new对一个类的实例构造器的任意调用。如何绕过常规的构造器#xff0c;提供一…      单例模式可以保证一个类有且只有一个实例,并提供一个访问它的全局访问点.在程序设计中,有很多情况需要确保一个类只能有一个实例.从这句话可以看出,Singleton模式的核心如何控制用户使用new对一个类的实例构造器的任意调用。如何绕过常规的构造器提供一种机制来保证一个类只有一个实例这应该是类设计者的责任而不是使用者的责任。 一、单例模式意图       保证一个类有且只有一个实例,并提供一个访问它的全局访问点。二、单例模式UML图(该图来至http://www.dofactory.com/)       三、示例解说单例模式       看看下面这个简单的示例:  1namespace DesignPattern.Singleton 2{ 3    public class Singleton 4    { 5        //静态私有属性 6        private static Singleton instance; 7 8        /// summary 9        /// 私有构造器--让类的使用者调用不到此构造器10        /// /summary11        private Singleton()12        { }1314        public static Singleton Instance15        {16            get 17            {18                if (instance  null)19                {20                    instance  new Singleton();21                }22                return instance;  //返回的总是第一次实例的对象23            }24        }25    }2627    //测试类28    class TestSingleton29    {30        public static void Main2(string[] args)31        {32            Singleton t1  Singleton.Instance;33            Singleton t2  Singleton.Instance;34            Console.WriteLine(object.ReferenceEquals(t1, t2)  true);35        }36    }37}      提供一个静态的私有属性,并提供get来实现一个简单的单例.此外我们还可以通过静态只读属性来实现.看看下面这个MSDN上提供的示例:  1/**//// summary 2/// MSDN上Singleton模式的实现 3/// /summary 4public class MsdnSingleton 5{ 6   //声明的同时进行初始化 7   public static readonly MsdnSingleton Instance  new MsdnSingleton(); 8         9   /**//// summary10   /// 私有构造器11   /// /summary12   private MsdnSingleton()13   {14   }15}       这样的单例实现的实质等同于提供一个静态的属性字段,通过静态构造器来初始化这个属性.因为要想访问静态字段,那静态构造器就首先执行,下面是代码示例:  1public class SameSingleton 2{ 3   //要想访问静态字段,那静态构造器就首先执行 4   public static readonly SameSingleton Instance; 5         6   /**//// summary 7   /// 静态构造器初始化Instance 8   /// 静态构造器完成静态字段(Instance)的初始化 9   /// /summary10  static SameSingleton()11  {12      Instance  new SameSingleton();13  }1415  /**//// summary16  /// 私有构造器17  /// /summary18  private SameSingleton()19  {20 21  }22}       上面的实现完全可以达到单例模式的意图,保证一个类仅且有一个实例,并提供一个全局访问点.而这在实际应用我们还得注意一点,就是在多线程的调用.于此,我们还得保证线程安全.要保证线程安全其实也是很简单就可以实现的,只需要通过加锁和双重判断就OK,下面是简单的多线程的线程安全的实现:  1using System; 2using System.Collections.Generic; 3using System.Text; 4 5//多线程的Singleton模式实现 6namespace DesignPattern.Singleton 7{ 8    public class SingletonMultithread 9    {10        private static object lockHelper  new object();1112        private static volatile SingletonMultithread instane  null;13        public static SingletonMultithread Instane14        {15            get 16            {17                if (instane  null)  //双检查18                {19                    lock (lockHelper)20                    {21                        if (instane  null)22                        {23                            instane  new SingletonMultithread();24                        }25                    }26                }27                return instane;28            }29        }30        3132        //私有构造方法33        private SingletonMultithread() 34        {3536        }37    }3839    class TestSingletonMultithread40    {41        public static void Main()42        {43            SingletonMultithread s1  SingletonMultithread.Instane;44            SingletonMultithread s2  SingletonMultithread.Instane;45            Console.WriteLine(object.ReferenceEquals(s1, s2)  true);46        }47    }48}49 其中:private static volatile Singleton instancenull; --volatile:保证特定平台的实现必须不要去从新调整指令保证对象构造的一个非常严格的顺序。四、真实项目中的单例       我曾经做过一个网球场的管理系统客户要求使用C/S随便PS下客户,在我做需求的时候建议客户做B/S系统管理和部署就很方便也不用带上几百M的.NET Frameworks去装在客户电脑上了。可好心讨不了客户的笑颜他硬说我是在给他做网页还说他要的是软件不是网页汗过........在使用C/S做程序的时候我想大家都遇到过这样的情况无论是通过按扭点击还是菜单来导航通常我们是像下面这样实现的 1private void ratingToolStripMenuItem_Click(object sender, EventArgs e)2{3    ratForm rat  new ratForm();4    rat.MdiParent  this;5    rat.Show();67}      我这里是使用的菜单控件通过点击打开新窗体。如果是这样问题就出现了每当我们点击一次菜单上的菜单项就会启动一个窗体点几次就会启动几个窗体。见下图       这样显然是不符合要求的我们应该做到让每个窗体只能Show一个出来这时 单例模式 就能派上用场了。要保证外部不能创建类的实例才单例中就是通过设置构造方法为私有private所谓模式可说是一种设计套路这里我们就依葫芦画瓢来画一次单例设置构造方法私有代码如下 1private ratForm()2{3    InitializeComponent();4}       通过一个静态方法来对完成静态属性的初始化  1private static ratForm ratf  null; 2public static ratForm GetInstance() 3{ 4   if (ratf  null || ratf.IsDisposed) 5   { 6      ratf  new ratForm(); 7      ratf.MdiParent  mainForm.ActiveForm; 8   } 9   return ratf;10}      通过单例模式的引入私有了构造方法并通过一个静态的方法初始化静态字段保证了类的唯一实例方法GetInstance()就是单例的全局访问点。这样设计后就通过GetInstance()方法就得了这个窗体的唯一实例。 1private void ratingToolStripMenuItem_Click(object sender, EventArgs e)2{3    //ratForm rat  new ratForm();4    //rat.MdiParent  this;5    //rat.Show();6    ratForm.GetInstance().Show();7}      通过单例模式的引入改善了程序的设计在窗体调用处只需要通过全局访问点这个静态方法就可以得到唯一的实例对象然后调用其Show()方法就达到了我们的要求。五、使用单线程Singleton模式要点--Singleton模式中的实例构造器可以设置为protected以也许子类派生。 --Singleton模式一般不要支持ICloneable接口因为这可能导致对个对象实例与Singleton的意图违背。 --Singleton模式一般不要支持序列化因为这也有可能导致多个对象实例同样与Singleton模式的意图违背。 --Singleton模式只考虑到了对象创建的管理没有考虑对销毁的管理。对于自带垃圾回收的平台可不考虑这点。 上面总结源于MSDN WebCast --------------------------------------------------------------------------------------------------------- 转载于:https://www.cnblogs.com/beniao/archive/2008/05/13/1145918.html
http://www.zqtcl.cn/news/942694/

相关文章:

  • 郑州销售网站开一个设计公司
  • 建筑公司网站常用长尾词网页设计实训总结100字
  • 网站开发项目业务要求wordpress前台注册登陆
  • 上海人才网官网招聘人力资源专业wordpress seo title
  • 简单html网站网页设计培训学费多少
  • 麻城网站建设投标网招标网
  • 网站建设行业细分专业动漫如何制作
  • 做地方网站数据哪里来模板网站建设教程视频
  • 株洲建设网站制作网络怎么推广自己的产品
  • dtu网站开发赣县网站制作
  • 东莞旅游网站建设微网站怎么做
  • 网站怎么没有排名做义工旅行有哪些网站
  • 阳江房地产信息网官方网站创业网站开发要多少钱
  • 工业设计招聘信息网站常用的seo网站优化排名
  • 温岭市建设规划局网站网站规划与建设ppt
  • 龙岩网站建设较好的公司做网站销售的换工作
  • 潞城建设局网站建设网站服务器自营方式的特点
  • 西安网站seo公司东莞市专注网站建设怎么样
  • dede游戏网站模板如何做盆栽蔬菜网站
  • 江都建设网站网站开发技术介绍
  • 网站介绍视频怎么做网站建设优化服务
  • 可以左右滑动的网站有口碑的盐城网站建设
  • 360报危险网站注册界面设计
  • 不用淘宝客api如何做网站北京移动官网网站建设
  • 手表哪个网站做的好河北网站备案流程
  • 凡科做的网站推效果网站做seo第一步
  • 建设在线观看视频网站免费企业网站建设免费
  • 网站开发需要后台吗哪家建站公司好
  • 个人建设网站论文网站视频怎么做的
  • 不同类型的购物网站汉川网站建设