[重构 Swift 中单例的用法](Refactoring singleton usage in Swift)
使代码库更加简洁、模块化、和可测试的技巧 2017 年 2 月 10 日
在软件开发中,单例模式有足够的原因被广泛的不推荐和不赞成。它们难以测试或者说是不可能测试,当它们在其他类中隐式调用时会使你的代码库混乱,让代码难以复用。大部分时候,一个单例其实就相当于一个伪全局变量。每个人都知道,至少知道这是一个糟糕的主意。然而,单例有时又是不可避免且必须的。我们如何能把它们用一种整洁、模块化的和可测试化的方法整合到我们的代码中呢?
随处可见的单例
在苹果平台,单例在 Cocoa 还有 Cocoa Touch 框架中随处可见。比如UIApplication.shared,FileManager.default,Notifica