Создание синглтона имеет все поля stati c - PullRequest
0 голосов
/ 09 апреля 2020

Мне всегда было интересно, так как синглтон позволяет использовать только одну ссылку на объект, которую мы получаем, используя метод getInstance c, почему мы не можем решить сделать все поля в синглтоне *? 1003 *

1 Ответ

0 голосов
/ 09 апреля 2020

Stati c члены являются частью класса и, таким образом, остаются в памяти до тех пор, пока приложение не завершит работу и не сможет когда-либо собирать мусор. Использование избыточного количества членов stati c иногда предсказывает, что вы не сможете разработать свой продукт, и пытаетесь справиться с процедурой программирования stati c. Это означает, что объектно-ориентированный дизайн скомпрометирован. Это может привести к переполнению памяти. Также есть определенные недостатки, если вы делаете какой-либо метод stati c в Java, например, вы не можете переопределить любой метод stati c в Java, так что это усложняет тестирование, вы не можете заменить этот метод на mock. Так как метод stati c поддерживает глобальное состояние, в параллельной среде они могут создавать незначительные ошибки, которые трудно обнаружить и исправить.

Таким образом, делая каждый метод stati c, мы исключаем цель создания синглтона. класс который до экономит память

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