@oop_ru

Страница 76 из 785
Alexander
23.01.2017
22:08:51
A ни у кого, случаем, нет перевода david west "object thinking"?

Aleh
23.01.2017
22:15:08
а он вообще существует?

Rodion
23.01.2017
22:58:37
он же писал, что не будет электронную версию выкладывать, т.к. ее в тот же момент сопрут

Google
Aleh
24.01.2017
05:30:15
Ну уже сперли, в любом случае. А русского перевода вроде как не существует

Mr.
24.01.2017
05:33:30
object thinking - стоящая вещь?

Aleh
24.01.2017
05:35:25
Я пока еще не осилил (

Ilya
24.01.2017
05:40:26
Оч жалко миллионы программистов, у которых никогда английский не станет вторым языком, потому что он у них первый

Ilya
24.01.2017
06:10:02
Первый язык как первая любовь, вроде должна никогда не забываться, а через пять лет сидишь такой "блин, как в этом паскале список то запилить"

Sergey
24.01.2017
06:10:56
наркоманы что-ли

F01134H
24.01.2017
11:28:22
паскаль ?

Alexander
24.01.2017
15:48:55
David west в своей книге пишет, что мол современная софтовая индустрия совсем неправильно поняла суть ооп-проектирования.

И объект представляет метафорично как

"Разумный компьютер, обладающий поведением"

Типа того

Ну и мол, в этой книге можно почерпнуть философию правильного оопроектироания, всякие метафоры

Google
Alexander
24.01.2017
15:55:19
Из наших чуваков есть сподвижник Уеста - Егор Бугаенко

Вот неплохое интервью

Йее

https://youtu.be/s-hdZZzMCac

Sergey
24.01.2017
16:04:01
лучше не думай об этом)

Alexander
24.01.2017
16:05:50
У меня в душе теплится надежда, что где то есть волшебная таблетка, после которой я смогу в тру-ооп)

Sergey
24.01.2017
16:06:07
тру ооп нахрен никому не нужно

это процедурщина на стероидах

не более

Alexander
24.01.2017
16:06:46
Существуют иные мнения)

Alexander
24.01.2017
16:10:15
Не совсем корректно выразился

Sergey
24.01.2017
16:10:41
это процедурщина на стероидах
и наследование тоже?

Sergey
24.01.2017
16:11:00
наследование не нужно

Alexander
24.01.2017
16:11:11
Под тру я имел ввиду "легкопроектируемый", легкорасшияемый и тд

Sergey
24.01.2017
16:11:18
редкие кейсы когда наследование > композиция

типа темплейт методы

Alexander
24.01.2017
18:40:09
вся вроде)

F01134H
25.01.2017
20:01:22
Ребят, помогайте) Как можно описать делегат простыми словами? Сложными до меня что-то не доходит

Google
Sergey
25.01.2017
20:02:13
Ребят, помогайте) Как можно описать делегат простыми словами? Сложными до меня что-то не доходит
когда задачу перекладываешь на другого, а потом пользуешь результат)

F01134H
25.01.2017
20:02:33
Во

А где такую практику можно применить?

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

Evgeniy
25.01.2017
20:04:50
например если там большое количество аргументов в функции

а тебе надо что то по проще

часть аргументов мождно проставлять один раз)

Sergey
25.01.2017
20:06:47
ну если нужно подстроиться под интерфейс какой-то(адаптер), или сделать операции до-после вызова делегата(декоратор), или вообще спрятать кучу делегаций за одним методом(фасад)

F01134H
25.01.2017
20:08:47
Вон как

Alexander
25.01.2017
20:09:22
так, а че, кто-нибудь таки читал Уеста?

не Канье

Aleh
25.01.2017
20:09:34
я странице на 20ой вроде)

Alexander
25.01.2017
20:09:57
полную отыскал? могу скниуть, если что

Aleh
25.01.2017
20:10:02
неа

не отыскал, так что лей)

Alex Фэils?︙
25.01.2017
20:13:39
Офигенная книжка!?

F01134H
25.01.2017
20:15:02
Еще вопросик, уже практический

В общем, делаю систему событий

https://gist.github.com/Folleah/f2efef2b91e0debbb845b315fe94f4d6

вот примерно так должно все выглядеть (наверное), я в верном направлении вообще?)

Google
Aleh
25.01.2017
20:16:11
зачем-зачем-зачем

статические методы

Admin
ERROR: S client not available

F01134H
25.01.2017
20:16:30
А что в них плохого?

А, понял

типо, нафига я тогда создаю экземпляр класса?

Все, я проследил суть, оно должно все в контексте созданного объекта работать

А если кроме этого?

Aleh
25.01.2017
20:20:22
это вообще вопрос по пыхе больше, чем по оо, конструкция $a:: плоха тем, что может делать много разной хуйни

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

F01134H
25.01.2017
20:20:40
Да не, пыха это лишь язык

Sergey
25.01.2017
20:20:46
если метод не взаимодействует с внешним миром - статик это ок

Aleh
25.01.2017
20:21:03
если статик это именованный конструктор, то ок)

что касается эмитера, то почему он занимается всем подряд? И ивенты создает, и какие-то непонятные листенеры

F01134H
25.01.2017
20:21:44
Ну, эм

Aleh
25.01.2017
20:21:45
почему ивент знает о слушателях, а не наоборот?

F01134H
25.01.2017
20:22:02
Потому что я поэтому и спросил тут :D

Aleh
25.01.2017
20:23:07
зачем вообще тебе объект event, если везде ты со строчками работаешь

Sergey
25.01.2017
20:23:23
Aleh
25.01.2017
20:23:28
ну и аналогично с листенерами

Google
F01134H
25.01.2017
20:23:44
Aleh
25.01.2017
20:24:00
не только. статики это ок
так может тебе нужны просто функции?

F01134H
25.01.2017
20:25:02
Мб мне фабрику сделать? И через отдельный класс-интерфейс взаимодействовать

F01134H
25.01.2017
20:26:33
Вот это поворот :D

Спасибо за помощь)

Aleh
25.01.2017
20:28:08
пожалуйста)

F01134H
25.01.2017
20:28:38
А если мне доступ к определенному эмиттеру нужен где-то в другом месте? Ну, в другом классе например

Sergey
25.01.2017
20:28:48
так может тебе нужны просто функции?
не, слишком просто. если у тебя он имеет отношение к классу или его кишкам, но не имеет отношения к конкретному инстансу. тогда статик норм

F01134H
25.01.2017
20:28:58
Нужно делать класс, в котором будут храниться объекты созданные? И создавать их через метод?

F01134H
25.01.2017
20:29:48
Не мудрено :D

Sergey
25.01.2017
20:30:07
можешь пример накинуть?
ну типа, для класса Address /** * @param AddressInterface $addressOne * @param AddressInterface $addressTwo * @return bool */ public static function isSame(AddressInterface $addressOne, AddressInterface $addressTwo) { if ($addressOne->getAddress1() !== $addressTwo->getAddress1()) { return false; } if ($addressOne->getAddress2() !== $addressTwo->getAddress2()) { return false; } if ($addressOne->getCity() !== $addressTwo->getCity()) { return false; } if ($addressOne->getZipcode() !== $addressTwo->getZipcode()) { return false; } return true; }

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