• 设计模式学习笔记二单件


    最长用到的实际模式...爱死了.........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;
    }
    }

    }

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

  • 相关阅读:
    redis 数据库总结
    drf 序列化类总结
    drf 视图类经典总结
    celery 简介
    虚拟环境搭建pip换源
    git 与 svn,简介差别
    redis 数据库简介
    auth 模块
    python的注释与用户交互 基本数据类型
    python入门
  • 原文地址:https://www.cnblogs.com/angellapples/p/2125575.html
Copyright © 2020-2023  润新知