-
Дещо про дефективні екземпляри та TDA (Tell, don’t ask)
Те, що багато реалізацій об’єктів – це надбудови над звичайними структурами, відволікає від головного: ООП – це не про методи замість функцій, а про коммунікацію між одиницями коду (об’єктами) через відправку повідомлень (асинхронно). Детальніше про власне розуміння ООП я писав у Що я розумію під об’єктною орієнтованістю, а ця публікація про те, що тотожність між…
-
Дещо про мутації/стан
Ніщо не є хорошим чи поганим само по собі і мутації (зміни стану/значення, на яке посилається змінна) не є вийнятком. Через поверхневе розуміння або його відсутність склалось так, що до мутацій в коді, особливо в останні декілька років і серед «функціональщиків»-початківців існує погане ставлення. В цій публікації я розкажу що саме погано, а що дуже…
-
Що я розумію під об’єктною орієнтованістю?
Аби було зрозуміліше, я зробив дуже простий приклад на Golang. У прикладі ми бачимо реалізацію об’єкта, як структуру, що зберігає стан, зміни якого організуються у чергу (канал) і виконуються послідовно, що дозволяє безпечно використовувати об’єкт у конкурентній архітектурі. З бенчмарків ми бачимо, що ОО код повільніший у 5 разів за код з мютексами, але це…