单体设计模式

单体模式

简介:

单体模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

实现思路

如果要求该类只能实例化一次,通常的做法是:

1、  在类中声明一个标志变量,用来查看该类是否被实例化。

2、  将该类的构造函数私有化,使其只能在类中访问。

3、  写一个静态方法,用于外面调用实例化类。如果类已经存在则就不再实例化。

实现

这里用一个person类举例。

创建一个person类

public class Person

    {

      private static Person person =null;

      private DateTime _birthday=newDateTime(1990,12,12);

      public DateTime Birthday

      {

          get { return _birthday; }

          set { _birthday = value; }

      }

      private Person()

      {

      }

      public static PersonGetInstance()

      {

          if (person == null)

          {

              person = new Person();

          }

          return person;

      }

}

在外部调用方法

  static void Main(string[] args)

        {

            Person person = Person.GetInstance();

            DateTime birthday = DateTime.Now;

            person.Birthday =birthday;

            Console.WriteLine("{0:D}",person.Birthday);

            //再次的到实例

            Person per = Person.GetInstance();

            Console.WriteLine("{0:D}",per.Birthday);

            Console.Read();

        }

运行输出的都是当前日期,可见是同一个实例。

总结

受以前辈教导:参加工作,要对自己写的代码做整理。最好要有自己的代码库,不要遇到做过的问题再重新做一遍。

时间: 2024-12-27 07:21:12

单体设计模式的相关文章

javascript设计模式第5张--单体设计模式

单体模式的概述:  单体是一个只能被实例化一次并且可以通过一个众所周知的访问点访问的类.  单体是一个用来划分命名空间并将一批相关方法和属性组织在一起的对象.如果它可以被实例化,那么他只能被实例化一次. 单体对象的区分:   1.并非所有的对象字面量都是单体.如果他只是用来模仿关联数组或容纳数据的话,那就不是单体.   2.如果用来组织一批相关方法和属性话.那就可能是单体. 1.单体的基本结构  最简单的单体实际上就是一个对象字面量,它把一批有一定关联的方法和属性组织在一起    var Sin

在使用Cocos2d-JS 开发过程中需要用到的单体设计模式

JavaScript 单体模式的一种实现 1 T.getInstance = (function () { 2 3 var instance = null; 4 return function () { 5 return instance = instance ? instance : new T(); 6 }; 7 8 })();

javascript设计模式之单体模式

一入前端深似海,刚入前端,以为前端只是div+css布局外加jquery操作DOM树辣么简单.伴随着对前端学习的深入,发现前端也是博大精深,而且懂得越多,才发现自己越无知,所以一定不能停下脚步的学习.原来前端也有设计模式,那么开始了解吧! 今天来学最简单的单体模式,其实就是简单的Object扩展 var calcYourShengXiao={ solar : ["甲","乙","丙","丁","午",&qu

设计模式之----单体(单例)模式

设计模式之--单体(单例)模式 1.介绍 从本章开始,我们会逐步介绍在JavaScript里使用的各种设计模式实现,在这里我不会过多地介绍模式本身的理论,而只会关注实现.OK,正式开始. 在传统开发工程师眼里,单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象.在JavaScript里,单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访问该对象. 2. 简单单体与闭包单体 在JavaS

浅谈javascript单体【读javascript设计模式第五章节单体有感】

单体,整个运行环境就独有一份,最简单的一种单体就是一个把所有属性和方法都集中在一起的对象,区别于一般的字面量对象,一般字面量对象是对一个物体的描述,集合该物体所具有的一些属性和方法,而单体则包含更多的些逻辑在里面,单体的好处有,划分命名空间,如果用来作为网页包装器,可以使得页面所有变量都封装在一个对象里,大幅度减小网页里的全局变量, 代码如: common.js (function(wz){ $.extend({ init:function(){ var self = this; this.bi

js设计模式--单体模式

单体模式 -单体模式(singleton)是javaScript中最基本最有用的设计模式之一. -这种模式提供了一种将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码可以通过单一 的变量进行访问.通过确保单体对象只存在一份实例,你就可以确信自己的所有代码使用的都是 同样的全局资源. -简单单体 -闭包单体 -惰性单体 -分支单体 <script type="text/javascript" charset="utf-8"> // 单体模式(single

5分钟读书笔记之 - 设计模式 - 单体模式

单体是一个用来划分命名空间,并将一批相关方法和属性组织在一起的对象,如果它可以被实例化,那么它只能被实例化一次. 单体模式,就是将代码组织为一个逻辑单元,这个逻辑单元中的代码可以通过单一的变量进行访问. 单体基本结构是这样: var Singleton = { attribute1:true, attribute2:10, method1:function(){}, method2:function(){} } 借助闭包实现单体: Namespace.Singleton = {} 定义之后立即执

JavaScript设计模式——单体模式

一:单体模式简介: 是什么:将代码组织为一个逻辑单元,这个单元中的代码通过单一的变量进行访问.只要单体对象存在一份实例,就可以确信自己的所有代码使用的是同样的全局资源. 用途:1.用来划分命名空间,减少网页中全局变量的数目. 2.在分支技术中用来封装浏览器之间的差异. 3.单体对象创建的命名空间可以快速清除全局变量. 4.增强模块性 关于单体模式的好坏,等你看完所有的讲解之后再告诉你哦....... 二:单体结构: 1.最简单的单体就是一个对象字面量. 1 var ProductTools={

如何做JS 单体模式的设计----&gt;&gt;js设计模式&lt;&lt;-------单体模式

1. 单体模式是js中最基本 单最有用的模式之一,非常常用. 单体模式的基本结构如下: var Person = { name: 'lilu', age:'20', sayHi: function(){ alert('456456'); }, sayBye: function(){ alert('456456'); } } 这个栗子中,所有的成员都可以通过Person进行访问,用点运算符就行. 如: Person.name = "zczc"; Person.age = "10