@jvmchat

Страница 584 из 2890
Pavel ?
22.09.2016
17:40:22
я даже не знаю где его применить то

Oleksandr
22.09.2016
17:41:02
ну он имлиментит все свойста синглтона
зависит от определения синглтона если "один на систему, и всегда доступен" (или как там у ГОФ, давно читал), то это не так

а так-то штука полезная, если с умом использовать

Google
guga
22.09.2016
17:41:41
Nil например

Oleksandr
22.09.2016
17:41:44
хех class Foo { object Bar }

guga
22.09.2016
17:41:49
чем тебе не синглтон

Oleksandr
22.09.2016
17:41:51
сколько Bar-ов можно создать? :)

ну вот Nil — как раз "с умом", object для манипуляции с АДТ вообще идеальная штука

Evgenij
22.09.2016
17:45:30
Ну давайте определение - Одиночка - > Зачем эта штука нужна?

Почему не Дваштука или Триштука?

James Tiberius Kirk ?
22.09.2016
17:47:21
Ну давайте определение - Одиночка - > Зачем эта штука нужна?
класс который по тем или иным причинам не нужно иметь в количестве более одного объекта

причин масса

Oleksandr
22.09.2016
17:47:47
случай первый — для сбора статики (в джаве собственно static, в скале/котлине object) случай второй — для АДТ (который алгебраический тип данных)

Evgenij
22.09.2016
17:47:55
Почему - следствие вопрос?

James Tiberius Kirk ?
22.09.2016
17:48:11
допустим это какой-нибудь хэтэтэпэ клиент и тебе не нужна их пачка, а только один интанс на все точки его вызовов

Google
Oleksandr
22.09.2016
17:49:18
статические методы, утилиты всякие, или вон "http" из ответа выше

James Tiberius Kirk ?
22.09.2016
17:49:33
статика же и так в памяти хранится в единичном числе, зачем их хранить в одном месте

или я не так понял суть кейса

Oleksandr
22.09.2016
17:49:48
воооот, чем не синглтон? :)

James Tiberius Kirk ?
22.09.2016
17:50:24
ну так не надо руками свой синглтон пилить для того шоб статику юзать. А чувак хочет юзкейсы синглтонов узнать

когда прям хуяк-хуяк руками

Oleksandr
22.09.2016
17:50:50
ну в некоторых джвм языках именно static кейворда нету

Evgenij
22.09.2016
17:50:53
Подумай зачем нужен объект - но только один (копии его убют прогу) - синглтон это ооп диагноз

Oleksandr
22.09.2016
17:51:57
и, к слову, вынос статических методов в object-ы, имхо, гораздо правильнее с точки зрения того же ООП

James Tiberius Kirk ?
22.09.2016
17:52:36
существование статики это вообще неправильно в ооп

в скале с этим прикольно

Oleksandr
22.09.2016
17:52:43
шутишь?

почему неправильно?

Мытко
22.09.2016
17:53:11
потому что в скале так сказали

Pavel ?
22.09.2016
17:53:44
Дваштука и триштука вроде есть в гуаве)

Oleksandr
22.09.2016
17:53:57
в скале как раз статика как раз в обьектах или я чего-то не понял из ваших ответов

Evgenij
22.09.2016
17:54:22
и, к слову, вынос статических методов в object-ы, имхо, гораздо правильнее с точки зрения того же ООП
Почему ? Те из откудато из миллиард классов ктото вызывает статику и что - а если мена статики и что искать?Хотя идея справляется с этим?

James Tiberius Kirk ?
22.09.2016
17:54:38
пользоваться им можно как статикой

Мытко
22.09.2016
17:54:55
http://stackoverflow.com/questions/4002201/why-arent-static-methods-considered-good-oo-practice

Google
Oleksandr
22.09.2016
17:54:56
это не синглтон, если определять синглтон как ГоФ

James Tiberius Kirk ?
22.09.2016
17:55:15
http://stackoverflow.com/questions/7026507/why-are-static-variables-considered-evil

и еще

Мытко
22.09.2016
17:56:12
я не согласен на самом деле с тем, что говорит чувак в первом посте

по моему всё ок

этот хайд метода - это логично

тут все методы виртуальные

так что

очевидно что это будет так работать

Alex
22.09.2016
17:57:50
почему неправильно?
Статический метод вызывается не через object reference. А ООП это как бы про объекты :) Это исключительно мой логический вывод без технических оснований.

Oleksandr
22.09.2016
17:57:55
Почему ? Те из откудато из миллиард классов ктото вызывает статику и что - а если мена статики и что искать?Хотя идея справляется с этим?
потому что методы класса (и только они, без статики) только в классе проще говоря, нельзя в середине кода класса впихнуть static поле/метод, это надо делать явно, через обьекты

Pavel ?
22.09.2016
17:58:08
это не синглтон, если определять синглтон как ГоФ
А зачем что-то определять как ГоФ?)

Oleksandr
22.09.2016
17:59:23
А зачем что-то определять как ГоФ?)
можно определение синглтона тогда?

Мытко
22.09.2016
18:00:10
можно определение синглтона тогда?
объект, который существует в единственном экземпляре

Oleksandr
22.09.2016
18:00:22
class Foo { object Bar }

Pavel ?
22.09.2016
18:01:02
можно определение синглтона тогда?
Скажем так это одиночный инстанс об'екта))

Evgenij
22.09.2016
18:01:09
class Foo { object Bar }
А с чего ты уверен что это один раз на рантам например?

Oleksandr
22.09.2016
18:01:20
Google
Evgenij
22.09.2016
18:02:40
а он как раз не один, потому и пишу
Я понял прикол - раскрой реализацию бара своего?

Oleksandr
22.09.2016
18:02:57
через javap что ли?

или как "раскрыть" ?

Мытко
22.09.2016
18:04:17
напоминаю всем синглтон

https://i.imgur.com/Y65n2Uw.png

Pavel
22.09.2016
18:04:46
https://i.imgur.com/Y65n2Uw.png
ужасная реализация))

Evgenij
22.09.2016
18:04:48
object Bar WTF?

Pavel ?
22.09.2016
18:04:54
Я вот что-то не понимаю, чем обьект в скале не синглтон

Admin
ERROR: S client not available

Pavel ?
22.09.2016
18:05:08
Зачем класс

guga
22.09.2016
18:05:18
https://i.imgur.com/Y65n2Uw.png
эм, а ты попробуй с разных потоков этот сингтон заюзать

Oleksandr
22.09.2016
18:05:26
или с разных класслоадеров

Evgenij
22.09.2016
18:05:28
напоминаю всем синглтон
есть 5 реализаций на джаве

Pavel ?
22.09.2016
18:05:54
синглтон
А че они спорят тогда?))

Oleksandr
22.09.2016
18:06:15
Я вот что-то не понимаю, чем обьект в скале не синглтон
ну он иногда может выступать в роли классического синглтона иногда нет

Pavel
22.09.2016
18:06:43
вот например

лучшая реализация singleton

public enum SomeSingeleton { INSTANCE; other code() { } }

Google
Pavel ?
22.09.2016
18:07:18
Скиньте байткод да посмотрим синглтон там иль не синглтон

Я вот вообще хз во что обьект в скале компилируется

Oleksandr
22.09.2016
18:08:14
scala> class Foo { object Bar } defined class Foo scala> :javap -c Foo Compiled from "<console>" public class Foo { public Foo$Bar$ Bar(); Code: 0: aload_0 1: getfield #11 // Field Bar$module:LFoo$Bar$; 4: ifnonnull 14 7: aload_0 8: invokespecial #30 // Method Bar$lzycompute:()LFoo$Bar$; 11: goto 18 14: aload_0 15: getfield #11 // Field Bar$module:LFoo$Bar$; 18: areturn public Foo(); Code: 0: aload_0 1: invokespecial #33 // Method java/lang/Object."<init>":()V 4: return } scala> :javap -c Foo#Bar public Foo$Bar$ Bar(); Code: 0: aload_0 1: getfield #11 // Field Bar$module:LFoo$Bar$; 4: ifnonnull 14 7: aload_0 8: invokespecial #30 // Method Bar$lzycompute:()LFoo$Bar$; 11: goto 18 14: aload_0 15: getfield #11 // Field Bar$module:LFoo$Bar$; 18: areturn

пожалуйста

Evgenij
22.09.2016
18:08:46
Я вот вообще хз во что обьект в скале компилируется
В тот же байкод как и кложура итп дж языки?

Pavel ?
22.09.2016
18:08:51
Это класс фу обьект бар?

Oleksandr
22.09.2016
18:09:11
да, там в самом верху обьявление

Pavel ?
22.09.2016
18:09:28
В тот же байкод как и кложура итп дж языки?
Компиляторы то разные и интерпретация другая

Evgenij
22.09.2016
18:10:06
А байтмашина имхо одна - если ошибаюсь расскажи

Oleksandr
22.09.2016
18:10:13
интересует 1: getfield #11 // Field Bar$module:LFoo$Bar$

что, по-моему, намекает, что Bar не синглтон

Evgenij
22.09.2016
18:12:18
Не реально видел чувака он напрямую в байт кодах говорил джаве что делать?

Мытко
22.09.2016
18:13:16
https://i.imgur.com/svnTBWE.png

Oleksandr
22.09.2016
18:13:45
осталось пофиксить класслоадеры

ещё не труЪ синглтон

Мытко
22.09.2016
18:15:26
мне с енамом понравился синглтон

только он енам

guga
22.09.2016
18:15:50
да говори что не пишешь их руками, а доверяешь ioc

Мытко
22.09.2016
18:16:35
я и не пишу

Страница 584 из 2890