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;
    }
    }

    }

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

  • 相关阅读:
    .net core 认证与授权(三)
    .net core 认证与授权(二)
    .net core 认证与授权(一)
    算法常识——快速排序
    ip 在网络传输中是如何传递的
    打开c++ 项目遇到的错误
    算法常识——鸡尾酒排序
    算法常识——冒泡排序
    算法常识——排序汇
    Tomcat 生产服务器性能优化
  • 原文地址:https://www.cnblogs.com/angellapples/p/2125575.html
Copyright © 2011-2022 走看看