Pull to refresh
19
10
Максим Кравец @Maxim_from_HW

CEO

Send message

Именно так. Но дело не в том, что «во фронте распространен», а в том, что «в интернете распространен». Попробуйте найти курс, который учит фронту не с «первым делом установим реакт...» а с «давайте разберемся, как браузер строит DOM-дерево и как этим можно управлять»… Как итог — почти все и начинают изучение не с того конца. Да, это работает, но непродуктивно, о чем и пытался сказать в статье.

Тайпскрипт это замечательная обертка над JS, которая добавляет то, чего здорово не хватает «ванильному» javascript. Но это всего лишь обертка, сам код все равно остается кодом JS. Как и код в любом фреймворке. И вся статья по сути о том, что писать код надо, понимая логику и структуру языка, а не оберток над ним. И изучение JS вовсе не отменяет изучения фреймворков. Вопрос в том, что первоначально, что вторично. Иначе потом начинаются такие чудеса в коде…

Это вчера обсуждали, в ветке комментов выше)
Главная проблема глобальной переменной — ее может переписать кто угодно, не уведомив «остальных потребителей». Синглтон переписать невозможно. Именно поэтому он и используется как хранилище (!) глобальных переменных. Это сейф для тех данных, которые нужны всем, но должны быть защищены от несанкционированной перезаписи.
Пример паттерна — схематичный, для описания принципа создания. Увидеть его реализацию можно, если залезть «под капот», например, Apollo или TypeORM. А «снаружи» да, просто подключение через DI.

В том и суть — мы часто пользуемся паттернами, зная о них, но воспринимая поведение как должное. Машина ездит и хорошо, красная такая. А сколько колец на клапане обжимных — современный водитель не в курсе)
Просто, чтобы раскрыть этот абзац, надо еще две статьи написать) Если тема интересна — обязательно раскроем.
Вопрос не глупый, а очень даже интересный. В теории, предложенный вариант будет работать, пока забывчивый разработчик не воткнет private dataBase = new dataBase
Чтобы этого не случилось — и закрывают конструктор.
2

Information

Rating
679-th
Date of birth
Registered
Activity