
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
Оч жалко миллионы программистов, у которых никогда английский не станет вторым языком, потому что он у них первый

da horsie
24.01.2017
05:55:11

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
Существуют иные мнения)

v
24.01.2017
16:09:02

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
редкие кейсы когда наследование > композиция
типа темплейт методы

Aleh
24.01.2017
18:33: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
Мб мне фабрику сделать? И через отдельный класс-интерфейс взаимодействовать

Aleh
25.01.2017
20:26:10

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
Нужно делать класс, в котором будут храниться объекты созданные? И создавать их через метод?

Aleh
25.01.2017
20:29:14

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;
}