享元模式
1.享元工厂
/*---------------------------------------------------------------- * 作 者 :姜 彦 * 项目名称 :Utility.Tool.Controller.Controller * 类 名 称 :TSerialPortModelFlyweightFactory * 命名空间 :Utility.Tool.Controller.Controller * CLR 版本 :4.0.30319.42000 * 创建时间 :2018/9/7 17:56:12 * 当前版本 :1.0.0.1 * My Email :jiangyan2008.521@gmail.com * jiangyan2008.521@qq.com * 描述说明: * * 修改历史: * ******************************************************************* * Copyright @ JiangYan 2018. All rights reserved. ******************************************************************* ------------------------------------------------------------------*/ using System; using System.Collections.Generic; using System.IO.Ports; using System.Linq; using System.Text; using Utility.Tool.Model.Model; namespace Utility.Tool.Controller.Controller { /// <summary> /// TSerialPortModelFlyweightFactory享元 /// </summary> public class TSerialPortModelFlyweightFactory { #region Flyweiht private static Dictionary<int, TSerialPortController> FlyweightFactoryDictionary = new Dictionary<int, TSerialPortController>(); private static readonly object FlyweightFactory_Lock = new object(); public static TSerialPortController Initalize(TSerialPortModel portModel) { if (!FlyweightFactoryDictionary.ContainsKey(portModel.COMID)) { lock (FlyweightFactory_Lock) { if (!FlyweightFactoryDictionary.ContainsKey(portModel.COMID)) { TSerialPortController controller = new TSerialPortController(portModel); FlyweightFactoryDictionary.Add(portModel.COMID, controller); } } } return FlyweightFactoryDictionary[portModel.COMID]; } #endregion } }
![](https://files-cdn.cnblogs.com/files/jiangyan219/Alipay.bmp)
您的资助是我最大的动力!
金额随意,欢迎来赏!
![](https://files-cdn.cnblogs.com/files/jiangyan219/WeChat.bmp)
我写的东西能让你能懂,那是义务
毕竟占用了你生命中的宝贵的时间和注意力
要是你还能喜欢我的作品,那就是缘分了
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【青青子衿】!