metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-03-22 01:01 pm

Какой только херни люди не делают

http://tonsky.livejournal.com/256538.html?thread=1802266#t1802266
Для синглетона фабрика бывает нужна если его реализация зависит от контекста. Например у меня есть сервис для работы с процессами, он синглетон, но создаётся через фабрику потому что реализации разные если винда и линукс.

[identity profile] blackyblack.livejournal.com 2012-03-22 10:10 am (UTC)(link)
А ведь кому-то реально так удобнее...

[identity profile] familom.livejournal.com 2012-03-22 10:18 am (UTC)(link)
Напоминает комикс electric retard: начинается довольно безобидно, но вскоре появляются кровь, говно и мертвые нигры.

[identity profile] nicka-startcev.livejournal.com 2012-03-22 10:19 am (UTC)(link)
это потому что они make готовить не умеют.

На позапрошлой работе, большой проект выглядел примерно так:
в корне папочки под каждый бинарник или либу.
В каждой папочке файлы необходимые для компиляции и кучка подкаталогов с именами $(OS), содержимое которых собирается только под нужную ОС.

[identity profile] plumqqz.livejournal.com 2012-03-22 10:37 am (UTC)(link)
Зато при деле.

[identity profile] avnik.livejournal.com 2012-03-22 11:06 am (UTC)(link)
Пойду ка я зофрендю гражданина, ибо доставляет он в тяжкий учебный день

[identity profile] denisioru.livejournal.com 2012-03-22 11:21 am (UTC)(link)
В некоторых случаях почему бы и нет. Например, если синглтон реализует какой то интерфейс - то реализация действительно может быть разная, например если софтина запущена на SSD или обычном HDD. Инстансы разные, интерфейс один.

[identity profile] enternet.livejournal.com 2012-03-22 11:28 am (UTC)(link)
Я, скажем так, иногда слегка вынужден писать на яве в виде Google App Engine/Java.

Моё мнение можно разделить на четыре части:
1) Ява как виртуальная машина JVM. Ну вполне ничего так. Всё шустро. Из теории мне известен только один серьёзный минус - отсутствие оптимизации хвостовой рекурсии. Встречал мнение, что нормальный JIT должен лечить это. За прогрессом не слежу, может уже и так. С тормозами GC я не сталкивался: нет миллионов объектов - нет и тормозов.
2) Ява как язык. Нуууу, более-менее вменяемый язык. Да, современных возможностей мало, но если задаться целью писать краткий и понятный код в полу-функциональном стиле - то это возможно. Придется правда почитать исходники и статьи мастеров, т.к. литература на эту тему отсутствует совсем. Вполне понимаю людей прыгающих со Скалой и Кложурой: мне тоже все эти выверты поднадоели, пора иди вперед. Но в целом писать можно.
3) Ява как платформа. Это просто ад пизды. Всё что можно сделать криво - сделано криво и причем во всех десяти вариантах. Логику некоторых моментов придумывали инопланетяне. На практике ничем кроме гугловских библиотек пользоваться невозможно. Ну, загнул, ещё пяток толковых есть, да. Применение почти всего сильно осложнено отсутствием нормальной документации.
4) Документация и литература. Хуже я не видел. Исходники загажены явадоком, причем всё написано так, чтобы не дать читателю сложить общую картину. Это песец. А с книгами так - вся литература про яву есть полное говно.

[identity profile] craneop.livejournal.com 2012-03-22 11:28 am (UTC)(link)
Заебали эти lang-срачи, честно.

[identity profile] jakobz.livejournal.com 2012-03-22 11:48 am (UTC)(link)
У меня кстати легкие DI-контейнеры, типа unity, отторжения не вызывают. Пока из через XML не начинают конфигурить и не приходит какой-нибудь лид-фашист и заставляет описывать интерфейсы для всего подряд.

[identity profile] blueher.livejournal.com 2012-03-22 01:22 pm (UTC)(link)
Логично, чё - а вдруг при следующем запуска винде станет линуксом. Вот тут-то фабрика для создания синглтона и зарулит со страшной силой!