zoukankan      html  css  js  c++  java
  • 设计模式学习笔记二单件

    最长用到的实际模式...爱死了.........Only you...就是说只有一个,

    比如总经理只有一个.......经常用的有数据提供程序

        public class DbProvider
    {

    public string ConnectionString = "";
    private DbProviderFactory MyDbFactorie = null;
    private static DbProvider _Current = null;
    public static DbProvider Current
    {
    get
    {
    if (_Current == null)
    {

    _Current
    = new DbProvider();
    }

    return _Current;
    }
    }

    这样的代码不可防止多线程访问

        public class DbProvider
    {

    public string ConnectionString = "";
    private DbProviderFactory MyDbFactorie = null;
    private static DbProvider _Current = null;
    object o=new object();
    public static DbProvider Current
    {
    get
    {
    if (_Current == null)
    {
    lock(o)
    {
    if (_Current == null)
    {

    _Current
    = new DbProvider();
    }

    }

    }

    return _Current;
    }
    }

    下面看个集中管理,比如说总部下面有不同的总经理但是,这些总经理都是唯一的,设计不同业态比如家居和酒店等等

    这样我们在实例化后就可以访问只读的Item就可以了

     class o
    {
    public o()
    {

    object c = new object();
    List
    <string> c2=new List<string>();
    item.Add(
    "object", c);
    item.Add(
    "List", c2);

    }
    System.Collections.Generic.Dictionary
    <string, object> item = new Dictionary<string, object>();
    public Dictionary<string, object> Item
    {
    get
    {
    return item;
    }
    }

    }

    最后听说还有限制一个对象的几个实例不过我看这像是享元模式故此不列出来

  • 相关阅读:
    gost源码分析心得
    go语言net编程,设置TCP连接发出使用源IP
    代理程序gost使用
    squid关闭缓存
    shell中的if比较
    10年以上年化20%以上收益率的基金经理
    股票信息查询
    02.win2003虚拟机安装和dos命令
    01.网络安全和虚拟机
    部署kali渗透环境
  • 原文地址:https://www.cnblogs.com/angellapples/p/2125575.html
Copyright © 2011-2022 走看看