@oop_ru

Страница 587 из 785
Дмитрий
27.03.2018
19:30:35
Там очень верное уточнение The AlanKay definition of OO is largely that given by CarlHewitt for the ActorsModel which is a model of computation, not a programming paradigm. AlanKay has acknowledged explicitly this derivation.

Sergey
27.03.2018
19:30:37
мне кажется это вот важный аспект

Дмитрий
27.03.2018
19:30:43
=)

Sergey
27.03.2018
19:31:19
http://wiki.c2.com/?AlanKayOnMessaging

Google
Sergey
27.03.2018
19:31:22
вот еще

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

Smalltalk-80 never really was mutated into the next better versions of OOP. Given the current low state of programming in general, I think this is a real mistake.

Hell
27.03.2018
19:35:34
Эксобар
OK. Но все таки замена базы данных "стока" на фейкостаб - это хорошее архитектурное решение. Правда?

Hell
27.03.2018
19:36:30
ну это же пайповая архитектура

Sergey
27.03.2018
19:36:39
Hell
27.03.2018
19:36:42
у меня тесты

Sergey
27.03.2018
19:37:03
блин у тебя проблема в осутствии адекватного тестового окружения

а ты ее пальцем затыкаешь

(потому что по сравнению с ораклом sqlite это палец)

“Object-orientation lumped [these two actions] into the same bucket” making it difficult to separate “simple, stable data models from dynamic behavioral models”,

Google
Aleh
27.03.2018
19:39:59
хорошо, что есть возможность подменить оракл на sqlite, плохо, что в тестах ты просто не можешь развернуть оракл для тестов

Sergey
27.03.2018
19:40:02
@ZeroBias

Hell
27.03.2018
19:40:49
(потому что по сравнению с ораклом sqlite это палец)
оракл выбирал не я. Мы туда просто наши таблички запихнули. Мой внутренний NoSQL лист мог бы выходные переменные хоть в redis запихнуть. Оракл важен для входа. Мы оттуда данныей берем для тестов. Т.к. девушки заполняют в программе эти данные. А ты мне предлагаешь дубликаты этих данных делать.

Выходные переменные можно вообще в JSON структуру засунуть

Дмитрий
27.03.2018
19:43:49
Не уверен правда, что DCI это выход а не усугубление ситуации, но насчёт причин они правы))

Sergey
27.03.2018
19:46:01
Всё так
https://www.artima.com/articles/dci_vision.html

Не уверен правда, что DCI это выход а не усугубление ситуации, но насчёт причин они правы))
я пока тоже не уверен но ковыряюсь с концептом... по этой причине думаю поковырять скалу.... там говорят DCI можно запилить

Дмитрий
27.03.2018
19:47:50
Да, она сейчас выглядит самым перспективным вариантом

пишу-на-скале-уже-год.жпг

andretshurotshka?❄️кде
27.03.2018
19:49:15
напомнило мне session types

Дмитрий
27.03.2018
19:49:41
А что за session types?

andretshurotshka?❄️кде
27.03.2018
19:50:07
описывать процессы в типах

Dmitriy
28.03.2018
05:16:02
ща вам расскажут за ооп

Maxim
28.03.2018
05:34:54
Оплата заказа. Ну типа резервируем товар под конкретную операцию оплаты. Если за n времени не оплатили - откатываем операцию резерва.
Очередь с ожиданием в 10 мин должна помочь. А воркер смотрит, если уже оплачено - ничего не делаем Как-то так

adam
28.03.2018
05:35:12
описывать процессы в типах
Точнее протоколов передачи сообщений в акторах

Pavel
28.03.2018
07:39:59


Привет, пытаюсь сделать чтобы хендлеры работали только с обьектами определенного типа

Вопрос

Google
Pavel
28.03.2018
07:41:19
как реализовать базовый класс, чтобы у всех дочерних был метод хендлер

Но при этом каждый дочерний класс обрабатывал обьекты разного типа

Bohdan
28.03.2018
07:42:38
require more получается

lsp уже не lsp

da horsie
28.03.2018
07:42:49
Ну вот да

Pavel
28.03.2018
07:42:51
require more получается
Что это значит?

Bohdan
28.03.2018
07:43:05
тут кто-то цитировал одну из формулировок lsp

require no more, promise no less

da horsie
28.03.2018
07:43:24
Что это значит?
https://en.m.wikipedia.org/wiki/Liskov_substitution_principle

Bohdan
28.03.2018
07:43:40
ты не должен ужесточать типы на вход и не должен смягчать типы на выход

Roman ?
28.03.2018
07:44:21
сложна

Bohdan
28.03.2018
07:45:43
The LSP states that the preconditions of a base class must not be strengthened by a subclass and that postconditions cannot be weakened in subclasses.

Pavel
28.03.2018
07:47:17
ты не должен ужесточать типы на вход и не должен смягчать типы на выход
Понял. Тогда если я буду через общий абстрактынй класс использовать handleException(AbstractException)

а внутри уже делать instanceof

Alexey
28.03.2018
07:48:44
напрашивается цепочка обязанностей

Aleh
28.03.2018
07:49:23
а внутри уже делать instanceof
Вопрос только "а зачем?"

Pavel
28.03.2018
07:51:10
Вопрос только "а зачем?"
Чтобы у меня не было ошибки "метода в классе N не существует"

Google
Pavel
28.03.2018
07:54:06
напрашивается цепочка обязанностей
Ну вот она впринципе а реализованна в ExceptionHandlerManager Берется имя класса исключения как ключ массива хендлеров

А "жестко типы хотелось написать" чтобы было более нагляднее кто кого должен обрабатывать

Aleh
28.03.2018
07:56:00
Pavel
28.03.2018
07:58:18
Можешь жестко типы записать, просто убери наследование
Ок, а если ебобо попытается обработать исключение обработчиком без метода handler, то путь уже в рантайме увидит ошибку, что методжа нет?

Alexey
28.03.2018
08:10:31
Объяви интерфейс с методами handle(Exception) и supports(Exception)

проверяй интерфейс в HandlerManager'e, там же можно описать логику "если не нашлось хендлера, то"

Aleh
28.03.2018
08:14:27
Alexey
28.03.2018
08:14:28
ну и наверное отдельный вопрос - как поступать, если несколько хэндлеров обрабатывают один и тот же тип. Популярное решение - вводить приоритет обработчиков, если обработчик должен быть один. Либо отдавать всем обработчикам (а что делать, если в одном вылетит другое исключение и т.п.)

Aleh
28.03.2018
08:14:41
<E extends Exception>

Enterpise
28.03.2018
08:33:31
http://blog.ploeh.dk/2013/01/11/PartialTypeNameRoleHint/

это актуально ? или есть более стильные модные и молодёжныые решения

Alexey
28.03.2018
08:42:23
если речь о php, то можно посмотреть, как подобная задача решается, например, в Symfony, там есть ExceptionHandler

Enterpise
28.03.2018
08:42:56
а какую проблему ты решаешь?
https://stackoverflow.com/q/22701412/444079

см. ответ марка

Google
Enterpise
28.03.2018
08:49:26
хотя стоп

http://blog.ploeh.dk/2013/01/09/MetadataRoleHint/

это лучше

я избавляюсь от ада свич кейс в блобе

у меня сейчас проблема ада парсинга строки "Действия юзера "

Поиск_кликнуть

Поиск - это строка - элемент

кликнуть - это действие

Sergey
28.03.2018
08:59:24
в языке
php не язык

Enterpise
28.03.2018
08:59:34
да

ППКС

Pavel
28.03.2018
08:59:43
пизда

если речь о php, то можно посмотреть, как подобная задача решается, например, в Symfony, там есть ExceptionHandler
Я вот как раз пишу обертку для него в рамках задачи. Типо можно регестрировать обработчики исключений через yml

Enterpise
28.03.2018
09:00:16
вернее это язык практикантов на 400 евро базис в Германии

ну как уборщица

Sergey
28.03.2018
09:00:30
то что тебе столько платили не означает что всем столько платят)

Roman ?
28.03.2018
09:00:59
у хеллбоя весна?

Sergey
28.03.2018
09:01:20
я хз... он уже неделю чето на тему DI гуглит

Enterpise
28.03.2018
09:01:38
такое ощущениие что некотрое "немецкие знатоки пхп" не знают функций

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