Синглетон

Аутор: Monica Porter
Датум Стварања: 15 Март 2021
Ажурирати Датум: 1 Јули 2024
Anonim
Самый популярный и тупой паттерн - Singleton
Видео: Самый популярный и тупой паттерн - Singleton

Садржај

Дефиниција - Шта значи Синглетон?

Синглетон је класа која омогућава креирање само једне инстанце себе и даје приступ тој креираној инстанци. Садржи статичке променљиве које могу примити јединствене и приватне инстанце себе. Користи се у сценаријима када корисник жели ограничити инстанцирање класе на само један објект. Ово је корисно обично када је за координирање акција широм система потребан један објект.

Синглетон узорак користи се у програмским језицима као што су Јава и .НЕТ за дефинисање глобалне променљиве. Поједини објект који се користи у свим системима остаје константан и треба га дефинирати само једном, а не много пута.


Увод у Мицрософт Азуре и Мицрософт Цлоуд | Кроз овај водич научићете о томе шта се рачуна у облаку и како вам Мицрософт Азуре може помоћи да мигрирате и покренете посао из облака.

Техопедија објашњава Синглетон

Синглетон је намијењен пружању само једне инстанце себе уз олакшавање глобалне тачке приступа. Имплементација синглетон обрасца укључује креирање класе методом која ствара нову инстанцу класе. Да би се имплементирао синглетон образац, морају бити задовољени принципи јединствене инстанце и глобалног приступа. Синглетон класа је попут глобалног спремишта за инстанцу саме себе, чинећи конструктор приватним. Стога се инстанца изван класе уопште не може креирати, а синглетон може садржавати само једну инстанцу. Синглетон класа инстанцира себе и одржава ту инстанцу у свим системима.

Апстрактни модели фабрика, произвођача и прототипа могу користити синглетонс. Фасадни објекти и статички објекти често су једнотонци. Имплементација Синглетона захтева механизам кроз који се може приступити члану класе без потребе за креирањем предмета класе и задржавањем вредности чланова класе међу објектима класе. Кораци који су укључени у креирање синглова су следећи:


  1. Конструктор је направљен приватно. То омогућава само класи да има приступ синглетон-у.

  2. Пример:
    класа тестдата
    {
    Приватни тестни подаци ()
    {
    //… нео-оп за једнокону

  3. Једна интерна инстанца класе креирана је помоћу методе. Метода се у овом примеру назива инстанца. Метода „инстанца“ користи се за иницијализацију класе за приступ једној инстанци. Метода инстанце је у овом примеру означена као статична како би се свим нитима омогућио стални приступ. Изван стварања инстанције, изјава закључавања користи се за контролу вишеслојног приступа. Ово закључава стварање инстанције у једној нити.

    Пример:

    // Лажно стварање синглетон интерне инстанце
    Инстанца јавних статичких тест-података
    {
    Добити
    {
    Брава (тип (тестдата))
    {
    Иф (_инстанца == нулл)
    _инстанца = тестдата ();
    }
    Ретурн _инстанца;
    }
    }