@oop_ru

Страница 620 из 785
Дмитрий
24.04.2018
19:52:06
Какие-то вредные советы на оопшный лад, перевёрнутый мир, всё наоборот

Mykola
24.04.2018
19:52:17
ну мы щас рассматриваем альтернативы, они есть, хотя все тут утверждают что их нет

Дмитрий
24.04.2018
19:52:28
Ясно

Mykola
24.04.2018
19:53:02
вот эти все "ясно", "понятно"

Google
Mykola
24.04.2018
19:53:15
а где конкретика почему так плохо делать?

аргументация?

Maksim
24.04.2018
19:54:04
ну от тебя её и ждут) почему это плохо в твоей картине мира) в разные вещи народ укпарывается, но что бы в конструкторы - эт впервые)

Дмитрий
24.04.2018
19:55:04
Попробуй говорить с собеседниками а не сам с собой)

code4aman
24.04.2018
19:55:09
вот да

Maksim
24.04.2018
19:55:40
1) да, метод) вызывается вслед за каким-то мифическим событием. 2) всё то же самое, что и всегда 3) понять и простить 4) хоть через рефлексию

чё дальше?)

Mykola
24.04.2018
19:57:00
дальше думать почему так

Maksim
24.04.2018
19:57:08
нахера?

Mykola
24.04.2018
19:57:20
чтоб моск развивать

если он канеш есть

Maksim
24.04.2018
19:57:53
подумай лучше про теорию большого взрыва. От этого хоть какая-то польза есть. И она мозг задействует, в отличии от этого булшита

Google
code4aman
24.04.2018
19:59:36
а явно вызвать конструктор мне кто помешает?
я предлагал приватный конструктор и статический фактори метод

Mykola
24.04.2018
20:01:47
итак: - конструктор нарушает LSP почти всегда... это никого не интересует? - вызывать его как метод не имеет смысла, но он доступен как метод... это типа ок? - жизненный цыкл обьекта - это что-то новое, неизученное в ООП - есть отличный способ обойтись без конструктора-метода, например как в Scala

я перефразировал, надеюсь теперь понятно в чем боль

я предлагал приватный конструктор и статический фактори метод
это тоже интересная тема для дискуссий, особенно что такое "статический", и каким боком оно к ооп

Mykola
24.04.2018
20:09:13
> 1 - фактори метод может возвращать что угодно именно! например что-то другое

я не хочу влезать в фактори-метод сейчас, это грустная тема...

Mykola
24.04.2018
20:10:55
и если уж предлагаются такие воркараунды с ним, то зачем тогда конструтор вообще? в фактори-методе можна и поля все установить

Mykola
24.04.2018
20:12:05
а ридонли это какие? специальные readonly? не приватные?

Дмитрий
24.04.2018
20:12:20
Вот что случается с людьми в языках без функций as first class citizens

Maksim
24.04.2018
20:12:27
пхпшник не палится)

code4aman
24.04.2018
20:12:31
а ридонли это какие? специальные readonly? не приватные?
приватные методы не могут мутировать это поле

Mykola
24.04.2018
20:12:54
это в каком языке есть такое прикольное?

code4aman
24.04.2018
20:13:16
C#, TS еще думаю

Дмитрий
24.04.2018
20:13:17
В любом нормальном

code4aman
24.04.2018
20:13:34
везде где классы есть же?

Mykola
24.04.2018
20:14:02
вспомнил, да... уже забыл эту штуку в сишарп, давно было.... но это же костыль)

Google
code4aman
24.04.2018
20:14:30
readonly > private set > public set, парад костылей

Mykola
24.04.2018
20:15:13
еще protected, sealed

а еще friend

code4aman
24.04.2018
20:15:51
ну ты чет путаешь

это уже про наследование

Mykola
24.04.2018
20:17:41
с чего бы? вот friend - это по сути то, что происходит, когда ты пытаешься приватный метод у обьекта вызвать из стсаческого метода

остальное тоже про доступ

code4aman
24.04.2018
20:19:22
ноуп, френд да, про доступ, но я не подразумевал его использование

Mykola
24.04.2018
20:19:50
но что-то му отвлеклись.... так зачем нам такие поля, которые можно только с конструтора установить? что это дает нам?

особенно если мы можем вызвать конструтор явно второй раз и переопределить их....

и вообще почему эти поля можно записывать только в конструторе, а не просто "возможность записи один раз"

Дмитрий
24.04.2018
20:31:15
Обычно подобные диалоги ведут с уткой

Использовать чаты в данных целях неприлично))

code4aman
24.04.2018
20:33:18
и вообще почему эти поля можно записывать только в конструторе, а не просто "возможность записи один раз"
думаю надо начать с вопросов... broad api vs narrow api? (я сам тока что нашел это в инете, а слова специально на английском, чтоб побудить человека вдуматься и, еще, обойти ментальные триггеры на знакомые и замыленные слова)

code4aman
24.04.2018
20:35:12
я думал KISS

Mykola
24.04.2018
20:36:33
так где тут KISS? вызывам статический метод, чтоб он вызвал приватный конструктор, чтоб он засетил ридонли поля?

Mykola
24.04.2018
20:37:27
и где здесь broad vs narrow?

Google
Mykola
24.04.2018
20:39:05
где вопрос? я только одно утверждение вижу, где в конце знак вопроса... но на вопрос не похоже

code4aman
24.04.2018
20:39:55
broad api or narrow api? choose your warrior :D

Sergey
24.04.2018
20:43:05
так где тут KISS? вызывам статический метод, чтоб он вызвал приватный конструктор, чтоб он засетил ридонли поля?
дай линк на сообщение в котором раскрывается каким образом конструктор нарушает LSP

Mykola
24.04.2018
20:43:55
ну каким, это ж метод, он должен сохранять совместимость с сигнатурой родителя, а это очень редко бывает

Mykola
24.04.2018
20:44:17
все началось как раз с такого вопроса: абстрактный конструтор

Mykola
24.04.2018
20:44:37
именно

Sergey
24.04.2018
20:45:04
ну короч ты мягко подходишь к мысли что классы это офигеть как устаревшая и неактуальная на сегодня концепция?

Mykola
24.04.2018
20:45:18
скорее не так

Sergey
24.04.2018
20:45:28
к слову - в контексте прототипного наследования ж нет проблемы с конструкторами и LSP

Mykola
24.04.2018
20:45:35
просто классы в разных языках - очень разные

Sergey
24.04.2018
20:45:44
Mykola
24.04.2018
20:46:06
ну я к тому, что кое-что устарело)

например, языки программирования

Sergey
24.04.2018
20:47:00
например, языки программирования
почитал труды Кея последние? тоже загорелся DSL и meta-meta языками?

Mykola
24.04.2018
20:47:15
еще нет, дай где)

но суть та, да

Sergey
24.04.2018
20:47:38
http://www.moserware.com/2008/04/towards-moores-law-software-part-3-of-3.html

Google
Sergey
24.04.2018
20:47:43
ну например из распиаренного вот это

типа реализация TCP/IP стэка в 200 строк

Mykola
24.04.2018
20:53:11
да, угу

только я шото не понял, это только концепция, или они уже пилят?

Дмитрий
24.04.2018
20:57:33
к слову - в контексте прототипного наследования ж нет проблемы с конструкторами и LSP
Прототипное наследование ещё суровее) По нездоровому так, по C++шному

Хотя как низкоуровневая база весьма эффективен

Sergey
24.04.2018
20:58:32
только я шото не понял, это только концепция, или они уже пилят?
ну там есть ссылки на публикации, все вроде как существует но явно не для продакшена)

Дмитрий
24.04.2018
20:59:15
Ну как эталон монстроузных возможностей

Можно делать слишком невероятные вещи)

ну это к слову

Sergey
24.04.2018
20:59:35
а ну это да

Дмитрий
24.04.2018
21:00:04
По ссылке выше люди со своего угла зрения подходят к самой топовой сейчас идее

Mykola
24.04.2018
21:00:26
broad api or narrow api? choose your warrior :D
я так и не понял в чем тут вопрос... впервые вижу эти фразы, а гугл внятно не подсказывает

Дмитрий
24.04.2018
21:01:07
Sum type, dsl, case class, unions, free monads, даже конечные автоматы с натяжкой — это всё выражает одну и ту же идею

Дмитрий
24.04.2018
21:02:43
Идею о том, что бизнес логика выражается конечным числом отдельных сущностей, я не уверен что могу это явно сформулировать

Mykola
24.04.2018
21:03:04
open-closed в широком смысле

это именно оно

Дмитрий
24.04.2018
21:03:49
Нет, это радикально иной уровень

Об этом можно судить хотя бы потому что все движутся в одном напрвлении но ни у кого ещё не получилось исчерпывающего решения

Страница 620 из 785