Обычно мне не нравится использование синглетонов или статических классов, так как большую часть времени я могу реорганизовать их во что-то другое.
Однако в настоящее время я разрабатываю свою точку доступа к HTTP API в приложении для Android, и я думал, что у меня есть следующая среда:
Поэтому я подумал, что это может быть ситуация, когда оправдано использование Singleton или даже статического класса для размещения HTTP-запросов. В остальной части моего кода мне просто нужно было бы использовать что-то вроде:
MyHttpAccess.attemptLogin(name, pass, callback)
чтобы выполнить запрос. Я даже склоняюсь к использованию статического класса, так как у меня нет никаких переменных данных, которые, как мне кажется, нужно хранить.
Это кажется хорошим или плохим дизайном, и что я должен потенциально изменить?




Http-запрос в kotlin с использованием одного класса
https://medium.com/@umesh8346/android-kotlin-api-integration-other-method-b5b84eb4f386
Это нормально иметь синглтон, и если вы не передаете никаких сильных ссылок, таких как контекст, представления и т. д., вы также можете использовать статический. Я бы использовал синглтон с внедрением зависимостей. Если проект простой и использует Kotlin, то
object LoginUtil { fun attemptLogin() {} }будет достаточно.