0
点赞
收藏
分享

微信扫一扫

单例模式在项目中应用

单例模式是创建型软件设计模式最常用的一种,可以实现多线程的协同工作。go语言因为自身的函数式编程、高执行效率等特点,天生支持单例模式,因为go的跨平台、容器化生态友好,在网关项目中,选取go作为开发语言。在业务分析得到的mqtt client、全局配置实例等对象,特别适合通过go语言的单例模式实现。常规做法会基于依赖反转原则将变量注入到几个业务实例中,在业务实例中实际调用mqtt client,这样的好处是典型的面向对象代码实现的例子,但代码可读性和可维护性难度增大,异常操作可能引起锁死问题。在团队中,首先在知识库中引入单例模式的go语言示例,并且增加测试用例,通过测试用例有效说明了对并发操作和程序稳定性方面具有显著优势。然后在做code review时,选择恰当的时机,将知识库的示例应用到实际项目中并向团队成员进行讨论和推广,在讨论过程中,根据团队成员反馈改进了单例实现细节中的withJson等实例化接口函数,使单例模式应用更加便捷和全面,得到组内成员一致认可,并且Agent可以根据知识库中的示例,很快实现该模式的高效复制,在实际应用中,这些单例的变量鲜有出现异常的情况。

举报

相关推荐

0 条评论