面向对象(单列模式)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 单列模式
{
    //单列模式
    //控制一个类只能实例化一个对象

    //class Test//普通类
    //{
    //    public string name;
    //}

    //数据访问类
    class DBDA
    {
        public string host;
        public string database;

        //静态成员,用来存储该类的对象
        public static DBDA db = null;

        //让该类不能被实例化
        private  DBDA()
        {
        }

        //提供一个造对象的方法,静态,让外界访问到
        public static DBDA DuiXiang()
        {
            if (db == null)
            {
                db = new DBDA();
            }

            return db;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            //Test t1 = new Test();
            //Test t2 = new Test();

            //DBDA a = new DBDA();  错误,私有构造函数

            //DBDA db = DBDA.DuiXiang();
            //db.host = "localhost";

            //DBDA db1 = DBDA.DuiXiang();

            //Console.WriteLine();
            //Console.ReadLine();

            //面试问题
            //面向对象的三大特性
            //设计模式

        }

        static void Test(int a, int b)
        {
            Console.WriteLine(a+b);
        }

        //语音功能方法
        static void Speak(int n)
        {
            //America();
            //China();
            //if (n == 0)
            //{
            //    America();
            //}
            //else if (n == 1)
            //{
            //    China();
            //}
            //else if (n == 2)
            //{
            //    HanYu();
            //}
        }

        static void America()
        {
            Console.WriteLine("hello");
        }

        static void China()
        {
            Console.WriteLine("你好");
        }

        static void HanYu()
        {
            Console.WriteLine("1234");
        }

    }
}
时间: 2024-10-27 06:50:34

面向对象(单列模式)的相关文章

PHP面向对象-单列模式

单例模式,在PHP面向对象中应用的比较广泛, 通常为了节省资源,在性能方面上,代码重用性上考虑,使用设计模式是很不错的选择, 比如数据库操作类系统类库等,通常开源代码都会使用单列模式去设计完成,使用单列模式的优点很明显, 可以保证每个类生成实体的唯一性,性能方面有所提高. <?php header("Content-Type:text/html; charset=utf8"); /** * php设计模式 * 三:单列模式 * */ class Sigle{ protected

设计模式之单列模式

设计模式之单列模式 1,何为单列模式? 即singleton 在某个类采用了单列模式之后  其只能有一个实列对象 ,并且这个实列对象只能有内部自己创建并提供给外部的调用. 2.实现单列模式的方法 分为 :饿汉式 ,懒汉式 下面为饿汉式实现代码: public calss Singleton1{ //将构造函数私有化 防止外部通过new来创建对象 private Singleton1(){ } //创建一个私有静态变量并直接初始化 类加载的时候直接创建对象 private static Singl

单列模式(data与business交互)

public class CommentsBusiness //Business { #region 单列模式 private static CommentBusiness instance; private CommentData dal;//Data private CommentsBusiness() { dal=new CommentData(); } public static CommentBusiness GetInstance() { if(instance==null) ins

23种设计模式学习一(单列模式)singleton

单列模式的类 class Singleton { private static Singleton instance; private Singleton() { } public static Singleton Instance { get { if (instance == null) { instance = new Singleton(); } return instance; } } } 通过以下代码,进行测试,是不是同一个实例 Singleton demo = Singleton.

在JAVA和android中常用的单列模式

在很多开发中,项目为了节约资源,都把一个类的构造函数变为私有化,这样整个项目中就不能创建多个实例,这样的方法我们称为单例模式 现在通过代码来简介下这个单例模式: 在新建一个java项目后,创建一个实体类User.java,和测试类,main.java 代码如下: 1 public class User { 2 private static User user; 3 4 //添加该实例的属性 5 private String name; 6 private String sex; 7 privat

JS设计模式——单列模式

核心:保证一个类仅有一个实例,并提供一个访问它的全局访问点 js中的单列模式关键字:创建唯一的对象 (一)基本实现:判断是否已有实例,有则直接返回,否则生成实例 var Single = (function(){ var instance return function(){ if(instance)return instance return instance = this } })() var a = new Single() var b = new Single() console.log

单列模式下的数据库连接与Servlet之间页面访问用户登录的小例子

下面是我自己写的一个关于servlet的例子 首先是数据库配置,使用的是静态的单例模式 代码如下: / 数据库地址连接 // 使用静态单列模式 public class JdbcUtil { private static String driverName; private static String url; private static String username; private static String password; private static Properties pro

设计模式之--单列模式

单例模式就是某个类只存在一个对象(只new 一次),当某个类的初始化比较耗时,耗资源的时候,比如hibernate写在Dao模式中创建session的时候必须写成单例模式,因为你每做一次数据库的操作,都必须创建一个session,这时候用单例模式是最好的,每次都只是同一个实例,sessionFactory 这个是单例的当然了是一个数据库的时候是单例的,整个服务仅使用这么一个工厂就足够了.好多工厂类基本上都是单例的. 单列模式中的两种基本模式 饿汉式.懒汉式.饿汉式是线程安全的,在加载类时创建实例

c++单列模式与线程安全

通常c++里面的单列模式很容易实现,我们也不需要去考虑其线程安全的问题,但是在多线程环境中我们却必须要考虑到.首先我们来分析下一下的这个单列模式为什么不是线程安全的,通常的单列模式写法: class MsgOfArrival { public: ~MsgOfArrival(void); MAP_STRING_PNORMALMSGCOLLECTION m_normalmsgMap; static MsgOfArrival* GetInstance(); private: MsgOfArrival(