【发布时间】:2019-03-12 23:56:23
【问题描述】:
我通常不喜欢使用单例或静态类,因为大多数时候我可以将它们重构为不同的东西。
但是,我目前正在为 Android 应用程序设计一个 HTTP API 访问点,并且我认为我有以下环境:
- 我需要在我的大部分代码模块(活动)中发送 HTTP 请求。
- 发送请求的代码不依赖于发送的请求
- 每个会话始终只有一个特定用户在应用上(与必须处理不同用户等的服务器端不同)
因此,我认为在这种情况下,使用 Singleton 甚至静态类来放置 HTTP 请求是合理的 - 在我的其余代码中,我只需要使用类似的东西:
MyHttpAccess.attemptLogin(name, pass, callback)
为了完成请求。我什至倾向于使用静态类,因为我没有任何我认为需要存储的可变数据。
这看起来是好还是坏的设计,我应该改变什么?
【问题讨论】:
-
可以有一个单例,如果你没有传递任何强引用,如上下文、视图等,你也可以使用静态。我会使用带有依赖注入的单例。如果项目很简单并且使用 Kotlin,那么
object LoginUtil { fun attemptLogin() {} }就足够了。
标签: java android design-patterns singleton