Можно ли использовать синглтон как «универсальную память»? - PullRequest
0 голосов
/ 22 февраля 2019

Я использую объект Singleton как способ хранения некоторых данных.Мне нравится использовать его из-за удобства, потому что теперь любой из моих контроллеров представления может получить доступ к данным.

В противном случае, я бы хотел, чтобы каждый контроллер представления передавал данные следующему контроллеру представления, что выглядит немного утомительно.

Я понимаю, что это может идти вразрез с некоторыми профессиональными принципами программирования.

Это ужасная идея?

1 Ответ

0 голосов
/ 22 февраля 2019

Если честно, это ужасная идея.

С одной стороны, вы создаете утечку памяти, поскольку Singleton никогда не будет собирать мусор и, следовательно, никогда не будет освобожден, даже если он не нужен.

Кроме того, Singleton делает невозможным тестирование вашего программного обеспечения, поскольку вы не можете имитировать их или использовать временные данные любым способом.

Если у вас возникнут проблемы с передачей данных, я бы посмотрел наВнедрение зависимости.Это довольно сложная тема для начинающих ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...