可以将单例用作“通用内存”吗?

时间:2019-02-22 06:46:17

标签: oop object singleton

我正在使用Singleton对象作为存储某些数据的方式。我喜欢不方便使用它,因为现在我的任何视图控制器都可以访问数据。

否则,我将让每个视图控制器将数据传递给下一个视图控制器,这似乎有些乏味。

我知道这可能违反某些专业编程原则。

这是一个可怕的主意吗?

1 个答案:

答案 0 :(得分:1)

说实话,这是一个糟糕的主意。

一方面,由于单例将永远不会被垃圾回收,因此即使在不需要时也不会被释放,这将造成内存泄漏。

此外,由于无法模拟或以任何方式使用临时数据,因此Singleton使您的软件无法测试。

如果在传递数据时遇到问题,我将看一下依赖注入。这对oop初学者来说是一个相当高级的话题...