2016-12-15 3 views
-2

Я работаю над своим приложением, и я путаюсь между объектами и объектами Singleton класса из моего базового класса, оба из которых обеспечивают повторное использование экземпляра одного экземпляра
. что на самом деле разница и Преимущество singleton?
и какой подход лучше всего.что такое различие между объектом singleton и объектом базового класса

ответ

0

Singleton - это способ организации вашего кода (так называемого шаблона проектирования) таким образом, чтобы класс Singleton мог иметь один и только один экземпляр в приложении. это может быть достигнуто по-разному: What is an efficient way to implement a singleton pattern in Java?.

+0

@ Alexandr Dascalu Да, я понимаю, то же самое, чего я могу достичь, создав объект в базовом классе, используя все приложение, он также предоставляет мой один и тот же объект. PLZ еще более проясни меня и дайте мне понять. –

+0

Как сказано, шаблон Singleton - это всего лишь шаблон дизайна. Определенно, вы можете достичь такого же поведения по-разному. Но в том, что вы говорите, вы можете создавать другие экземпляры одного и того же класса. Если другой разработчик читает ваш код, не совсем понятно, что вы намеревались иметь только один экземпляр. Используя шаблон Singleton, вы делаете свои намерения ясными. –

+0

получил это благодарение. :) –

0

Синтаксическая парадигма проектирования применима к любому языку программирования, который придерживается ООП. В основном это использование заключается в том, что при использовании экземпляра singleton вы сохраняете память для создания нескольких объектов. Но объект singleton должен обслуживать только один набор функций для своих клиентов.

Лучшим примером является то, что при работе с пользователями GUI не требуется, чтобы несколько окон редактировали один набор деталей формы. В этом случае синглтон может пригодиться. Поэтому независимо от того, сколько раз пользователь запускает пользовательский интерфейс, тот же экземпляр возвращается каждый раз.

+0

что делать, если я создаю объект в базовом классе и снова использую его снова, это alse save memory .. пожалуйста, дайте мне понять. –

+0

вам нужно понять, является ли он одиночным или нет, вам нужно решить, какую функциональность вы хотите, если он предоставлен супер-классом, а затем создать его singleton .. но если вы делаете свой производный класс singleton, у вас уже есть экземпляр его родителя но это не singleton (parent). –

0

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

Смежные вопросы