Единична в Ява
Индивидуалист - тя генерира модел, който да гарантира наличието на само един обект на определен клас, а също така ви позволява да се достигне целта от всяка програма.
Индивидуалист има същите предимства и недостатъци като глобалните променливи. Това е невероятно удобен за използване, но той нарушава модулността на кода си.
Не може просто да се вдигне и да се използва в зависимост от класа на сингъл в друга програма. Тя ще трябва да се подражава на присъствието на единично и там. Най-често този проблем се проявява, когато пишете единица тестове.
Повече информация за сам
Характеристики на модела в Java
Приложимост: Много програмисти смятат antipattern Alone, така че е по-малко и по-малко да се намерят в Java-код.
Въпреки това, само са били използвани в стандартната Java библиотека:
Симптоми Модел Приложение: Сами може да се определят чрез статично създават метод, който връща един и същ обект.
Пример: Единична Наивизъм (един поток)
Alone тромава да приложат много лесно - само скрие строителя и да осигури статичен създадат методи.
OutputDemoSingleThread.txt: Резултатите от
Вариация. Наивни Единична (множество нишки)
В същия клас се държи правилно в многонишкова среда. Множество потоци могат едновременно да предизвика метод за получаване самостоятелно и създават множество копия на един обект.
Singleton.java: Single
DemoMultiThread.java: Клиентски код
OutputDemoMultiThread.txt: Резултатите от
Вариация. Правилно Единична (резба-безопасно)
За да реши проблема, е необходимо да се синхронизира нишки, за да се създаде един обект.