Size: a a a

Node.js — русскоговорящее сообщество

2020 April 09

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
rvv880
На каком языке лучше учить ооп?
а что ты понимаешь под "учить ооп"?
источник

r

rvv880 in Node.js — русскоговорящее сообщество
Понять зачем используются разные патерны. Например, зачем использовать синглтон в js, если можно создать простой обьект не используя класс
источник

r

rvv880 in Node.js — русскоговорящее сообщество
Например зачем использовать синглтон если можно написать так
источник

r

rvv880 in Node.js — русскоговорящее сообщество
const singleton = (instance => () => instance)({})
источник

r

rvv880 in Node.js — русскоговорящее сообщество
Если так const singleton = {}
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
rvv880
На каком языке лучше учить ооп?
Self, Pharo, Ruby, Objective C
источник

R

Roman in Node.js — русскоговорящее сообщество
const Singleton = new (function() {
 const single = this;
 return function() { return single; };
})()

Можно и так
источник

R

Roman in Node.js — русскоговорящее сообщество
const singleton = (() => {
 const instance = {};
 return () => instance;
})()

Или так
источник

R

Roman in Node.js — русскоговорящее сообщество
🤷‍♂
источник

r

rvv880 in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
а что ты понимаешь под "учить ооп"?
Зачем?
источник
2020 April 10

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
rvv880
const singleton = (instance => () => instance)({})
совершенно незачем. это все бездумная попытка скопировать реализацию из других языков
источник

r

rvv880 in Node.js — русскоговорящее сообщество
?
источник

R

Roman in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
совершенно незачем. это все бездумная попытка скопировать реализацию из других языков
Что значит скопировать? Это тоже способ реализации
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
@rvv880 @rv_bb как вы на си++ реализуете
const singleton = {}
источник

R

Roman in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
@rvv880 @rv_bb как вы на си++ реализуете
const singleton = {}
Я с++ не знаю
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
начнем с того, что там нет {}. а есть или структуры без методов, или классы
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
мы можем создать класс, его экземпляр и присвоить его глобальной переменной. но это 1) засорит область глобальных переменных 2) не запретит создать еще один экземпляр класса
источник

R

Roman in Node.js — русскоговорящее сообщество
Значит в namespace его
источник

r

rvv880 in Node.js — русскоговорящее сообщество
Roman
Значит в namespace его
Вторую проблему это не решит
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
в жс мы можем написать в файле класс и сделать потом:
export const singleton = new Singleton()
и тогда сама платформа жс обеспечит нам, что singleton будет только в одном экземпляре.

но в других языках такого нет и приходится выкручиваться при помощи всяких if (instance) return instance

тем более если еще есть задача наследоваться от этого класса
источник