@CSharpChatЭта группа больше не существует

Страница 1422 из 1888
Анатолий
06.07.2017
11:17:27
Тогда помогает паттерн синглтон

Он возвращает инстанс, который не является статическим классом. Естественно, он же инстанс

Rushan
06.07.2017
11:17:49
всё, понял, понял

Анатолий
06.07.2017
11:17:50
Но опа! он единственный и неповторимый

Google
Jman
06.07.2017
11:18:05
https://habrahabr.ru/company/mailru/blog/325492/

Правда на всеми горячо любимом php. Но суть одна

Там есть описание синглтона

Rushan
06.07.2017
11:19:42
чувак, я знаю описание синглтона ))

Анатолий
06.07.2017
11:19:53
И есть описание его недостатков. Первый из которых побеждается включением головы :)

Artem
06.07.2017
11:20:18
но вообще можно же просто заюзать любой DI контейнер и сказать что это будет синглтон и всё

и не писать руками

Анатолий
06.07.2017
11:20:33
Ибо создавая синглтон, ты явно соглашаешься с тем, что вносишь в приложение глобальное состояние, блин, ты же ради этого его и создаёшь :)

А то это получается какое-то пустое хейтерство

первый попавшийся пример

Корневой контекст статический, его поля - статические, и в них хранятся инстансы контекстов

Когда нужно добраться до инстанса контекста, ты пишешь AppContext.Config.VersionConfig() и юзаешь его.

Google
Анатолий
06.07.2017
11:23:48
Да, тут без синглтона

Всему своё место :)

Олег
06.07.2017
11:25:54
может и антипаттерн, но в джавке он активно применяется
Кто синглтон? Это нормально, DI поставляет

Rushan
06.07.2017
11:26:19
да, забыл, в инъекторе он как вариант

Олег
06.07.2017
11:26:51
Сказки дцатилетней выдержки

Gid
06.07.2017
11:28:00
эх щас бы поинкапсулировать

Олег
06.07.2017
11:28:21
Вроде шарписты, вроде типа пишем на современном языке, а тоже стереотипами живут

Gid
06.07.2017
11:28:22
вместо public int Prop {get; set;}

> 2k17 > не юзать паблик статик

Олег
06.07.2017
11:29:02
У смысле что есть scala/kotlin?
Оба из которых сахарнее шарпа, бгг

Vlad
06.07.2017
11:29:21
все дружно переходим на F#

Blue Screen of Death
06.07.2017
11:29:26
Паблик статик войд мейн

Олег
06.07.2017
11:29:42
Про тормозные машины

Анатолий
06.07.2017
11:30:14


все сговорились про тормоза понаписать

Igor
06.07.2017
11:30:27
Оба из которых сахарнее шарпа, бгг
Кстати может может синглтон и считают “антипаттерном”, а в той же Scala/Kotlin это ключевое слово object MySingleton Создает класс MySingleton с 1 стат. полем ссылкой на синглтон

Andrey
06.07.2017
11:30:38
Скинь ссылку на телеграм чатег.

Олег
06.07.2017
11:30:39
Классическая боль

Google
Rushan
06.07.2017
11:30:44
а чем котлин сахарнее шарпа ?

Blue Screen of Death
06.07.2017
11:31:04
Олег
06.07.2017
11:31:26
а чем котлин сахарнее шарпа ?
Даже get; set; не надо писать

?

Gid
06.07.2017
11:31:41
Rushan
06.07.2017
11:31:44
ну а помимо ?

Gid
06.07.2017
11:31:45
не работаешь, отдыхаешь

а отдыхать хорошо

вот и весь сахар

Олег
06.07.2017
11:32:09
Ну там обычно это помойка утил методов.
Накуя, в котлине функции можно без класса написать

Просто в файле

Gid
06.07.2017
11:32:12
надо выбрать язык чтоб не работать и постоянно отдыхать

думаю фшапр бы выбрал

Igor
06.07.2017
11:32:25
Ну там обычно это помойка утил методов.
В Kotlin точно нет, там же есть нормальные extension-functions, как в C# (в скале не уверен).

Andrey
06.07.2017
11:32:51
Просто в файле
Они всё равно в обжект попадают, так что разницы нет.

Олег
06.07.2017
11:32:52
В скале есть экстеншн-методы, есть имплиситы

Есть компаньон-обжекты

В котлин тоже, кстати

Они всё равно в обжект попадают, так что разницы нет.
Но мы же про наружу и юзание в сорцах

Google
Igor
06.07.2017
11:33:37
Накуя, в котлине функции можно без класса написать
Как раз замена StringUtils и тд, просто делаешь файл “string-extensions.kt” и туда кучу своих extension-methods пишешь для String

Олег
06.07.2017
11:33:39
А так да, jvm не обойти

Andrey
06.07.2017
11:33:55
Ну ладно. Вам не пофиг на другие языки?)

Олег
06.07.2017
11:34:05
Неа

Rushan
06.07.2017
11:34:07
нет

Vlad
06.07.2017
11:34:08
нет

Олег
06.07.2017
11:35:04
Просто тут периодически ругают условную жаву, так что обраточку тоже хочется кинуть

Мы ж не сектанты, бгг

Timur
06.07.2017
11:35:26
еретик в храме!

Admin
ERROR: S client not available

Rushan
06.07.2017
11:36:12
Ересь !! Во славу императора!!

Igor
06.07.2017
11:39:04
все дружно переходим на F#
Вот кстати за что его люблю, что можно юзать легкую IDE. В C#/Kotlin с их extensions-functions и Scala с имплиситами, без тяжелого комбайна IDEA/VS фиг поймешь что и откуда. (в Kotlin их extensions-functions только и можно отличить по “наклонному шрифту”.)

Vlad
06.07.2017
11:39:43
vscode + ionide

Igor
06.07.2017
11:39:48
Да VSCode

Andrey
06.07.2017
11:40:00
Мде... Вот и лёгкая ide)

Vlad
06.07.2017
11:40:44
давайте вчерашний срач повторим про вскод\нотепад2\н++?(нет)

Владимир
06.07.2017
11:40:53
н++

Igor
06.07.2017
11:40:54
Мде... Вот и лёгкая ide)
??? Она запускается на слабеньком макбуке, раз в 2-3 быстрее Atom и раз 5-6 быстрее IDEA

Google
Владимир
06.07.2017
11:40:55
/тред

Rushan
06.07.2017
11:41:12
emacs

Олег
06.07.2017
11:41:18
Но шо в скале, шо в котлине нет linq увы

Олег
06.07.2017
11:41:59
Ага, глянь payments.stream().sorted(Comparator.<Payment>comparingInt(p -> p.getGroup().getPriority()) .reversed() .thenComparing(Comparator.comparing(Payment::getPriority).reversed()) .thenComparing((first, second) -> StringUtils.defaultString(first.getName()).compareToIgnoreCase(second.getName()) ) );

Blue Screen of Death
06.07.2017
11:42:06
Летучая
06.07.2017
11:42:08
> 2k17 > не юзать паблик статик
надеюсь ты тролируешь

Дмитрий
06.07.2017
11:42:10
https://habrahabr.ru/company/mailru/blog/325492/
О. Взял на вооружение

Igor
06.07.2017
11:43:45
А в студии под шарпом как отличаешь экстеншн-методы?
Не знаю как сейчас, давно уже в винде не работаю. В VSCode к сожалению не показывает разницу https://i.gyazo.com/0b9fdc565f75a5be2f03a40cd3d5f93c.png (c верху метод класса string, снизу extension)

Олег
06.07.2017
11:44:12
Ну там и выше написанное скомпилится, кек Это ванильные жава стримы

Igor
06.07.2017
11:51:12
Интересный вопрос. По крайне мере, тебе будет очень тяжело их найти ext-method, если твоя IDE не может их искать по всему проекту без учета импортов.

Олег
06.07.2017
12:01:56
Vinc
06.07.2017
12:05:25
Подскажите, можно ли в мемори стрим сериализовать объекты?

Му
06.07.2017
12:05:45
есессно

Vinc
06.07.2017
12:05:48
при помощи бинари формата, конечн

Му
06.07.2017
12:06:01
это не связанные вещи

куда хочешь, туда сериализуй

Vinc
06.07.2017
12:06:17
есессно
а как? т.е. с файл стримом понятно - указал файл и с ним потом работай, а тут каким образом?

Страница 1422 из 1888

Эта группа больше не существует Эта группа больше не существует