• 请使用单列模式


    如题,为什么要使用单列模式?在此之前需要搞清楚什么是单列模式,百度百科的解答是这样的,

    单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。(单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。)

    这里说的很清楚,就是为了确保某一个类只有一个实例,这样做的好处是什么?可能举个例子你就会知道为什么要使用单列模式了!

    你是否在开发的过程中会要到这样一种情况,使用linq保存一个实体对象的时候,遇到这样一个错误!

    这个错误的提示给我们的信息是:对象无法将附加到objectContext对象添加到未与原对象关联的EntityCollection或EntityReferrence。

    他说明一个问题,那就是我们附加的ObjectContext对象附加错了,他不是跟原ObjectContext对象是同一对象。造成这个错误产生的原因就是因为我们没有使用原ObjectContext对象,而是重新new了一个ObjectContext对象。这就没有确保 某一个类只有一个实例原则。因此,这里我们就需要使用到单列模式来确保某一个类只有一个实例。

    单列模式之我的写法:

    private static readonly Model1Container context =
                    new Model1Container();
    
            /// <summary>
            /// 单列模式
            /// </summary>
            /// <returns></returns>
            public static Model1Container InitApplyContext()
            {
                return context;
            }
    

     使用readonly的原因:就是防止动态改变context。

  • 相关阅读:
    redis主从同步
    redis持久化
    redis发布订阅
    mariadb主从复制,
    nginx+uwsgi+django+virtualenv+supervisor发布web服务器
    Oracle 11gR2 RAC Installation on Oracle Linux 6.5
    ORA-1555 causes and solutions
    Linux实时查看日志的四种命令详解
    Linux查看日志常用命令
    oracle 11g 静默安装
  • 原文地址:https://www.cnblogs.com/xlhblogs/p/2418939.html
Copyright © 2020-2023  润新知