中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

基于框架的全(quan)局配置(zhi)模(mo)型

回到目錄

艱苦奮斗

昨天晚(wan)上搞到23點多,終于(yu)有了比(bi)較滿意的全(quan)局(ju)框架配(pei)置模塊(kuai)(kuai),這個在之(zhi)前(qian)在Lind.DDD.ConfigConstants模塊(kuai)(kuai)中出現,可(ke)以說大叔對(dui)之(zhi)前(qian)全(quan)局(ju)配(pei)置的不滿,而對(dui)原有功能進行的改進,對(dui)于(yu)生產(chan)和獲取采用了單例,對(dui)于(yu)配(pei)置項(xiang)采用了模塊(kuai)(kuai)的概念,這樣在XML表(biao)現上更(geng)加符合面向對(dui)象的原則(ze),并且在可(ke)讀性上也更(geng)加友(you)好!

勞動成果

單例模式獲取配置信息

全局的(de)保持不變的(de)信息(xi),沒有必要每次(ci)都new實例(li)(li),直(zhi)接使(shi)用(yong)單(dan)例(li)(li)模塊是最(zui)好的(de)選擇(ze)

     /// <summary>
        /// 配(pei)置(zhi)字典,單例模式
        /// </summary>
        /// <returns></returns>
        public static ConfigModel Config
        {
            get
            {
                if (_config == null)
                {
                    lock (_lockObj)
                    {
                        var old = Utils.SerializationHelper.DeserializeFromXml<ConfigModel>(_fileName);
                        if (old == null)
                        {
                            _config = _init;
                            Utils.SerializationHelper.SerializeToXml(_fileName, _init);
                        }
                        else
                        {
                            _config = old;
                        }
                    }

                }
                return _config;
            }
        }

配置實體

對于配置的實體(ti)類,大叔也公(gong)開(kai)一(yi)下(xia),大家(jia)可以進行(xing)借鑒

    public class ConfigModel
    {
        public ConfigModel()
        {
            Caching = new Caching();
            Queue = new Queue();
            Logger = new Logger();
            Pub_Sub = new Pub_Sub();
            MongoDB = new MongoDB();
            Redis = new Redis();
            Messaging = new Messaging();
            DomainEvent = new DomainEvent();
            Socket = new Socket();
            CatServers = new List<CatServer>();
        }

        /// <summary>
        /// 啟用屬性(xing)變化跟(gen)蹤
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute(Order = 0)]
        public int PropertyChanged { get; set; }

        /// <summary>
        /// 緩存相關配置
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute(Order = 1)]
        public Caching Caching { get; set; }

        /// <summary>
        /// 隊列相關(guan)配置
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute(Order = 2)]
        public Queue Queue { get; set; }

        /// <summary>
        /// 日志相關
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute(Order = 3)]
        public Logger Logger { get; set; }

        /// <summary>
        /// Pub_Sub相(xiang)關
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute(Order = 4)]
        public Pub_Sub Pub_Sub { get; set; }

        /// <summary>
        /// MongoDB相關
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute(Order = 5)]
        public MongoDB MongoDB { get; set; }

        /// <summary>
        /// redis相(xiang)關
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute(Order = 6)]
        public Redis Redis { get; set; }

        /// <summary>
        /// Messaging消息相關
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute(Order = 7)]
        public Messaging Messaging { get; set; }

        /// <summary>
        /// 領域事(shi)件相關
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute(Order = 8)]
        public DomainEvent DomainEvent { get; set; }

        /// <summary>
        /// Socket通(tong)訊配置 
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute(Order = 10)]
        public Socket Socket { get; set; }

        /// <summary>
        /// Cat實時監控(kong)配置 
        /// XmlArray表示以數(shu)組的形式
        /// </summary>
        [XmlArray(Order = 11)]
        public List<CatServer> CatServers { get; set; }
    }

對以上(shang)的設(she)計完全是出于一種興趣,感覺(jue)把(ba)每個模(mo)塊(kuai)都單(dan)獨設(she)置,在部署(shu)上(shang)不方(fang)便,所(suo)以把(ba)它們統一了,當然只適(shi)合于Lind.DDD框架(jia),你自(zi)己的框架(jia)需要自(zi)己去定義實體了!

回到目錄

posted @ 2016-05-19 11:12  張占嶺  閱讀(1120)  評論(0)    收藏  舉報