zoukankan      html  css  js  c++  java
  • 请使用单列模式

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

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

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

    你是否在开发的过程中会要到这样一种情况,使用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。

  • 相关阅读:
    resultMap之collection聚集
    try{}catch{}finally{}使用总结
    动手动脑兼课后作业2
    第一个psp0级
    原码反码补码
    动手动脑兼课后作业
    第七周进度报告
    第六周进度报告
    第五周进度报告
    《大道至简》读后感
  • 原文地址:https://www.cnblogs.com/xlhblogs/p/2418939.html
Copyright © 2011-2022 走看看