Size: a a a

2018 November 09

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
А я в своё время охреневал от implicits и макросов в Scala
Я от имплиситов до сих пор охреневаю. Как вижу в туториалах имплисит, все - сразу к скале отторжение.
источник

SK

Sergey Kapralov in JUG NN
Ничего не могу с собой поделать
источник

RK

Roman Khlebnov in JUG NN
у меня наоборот - возможность через них подмешать нужные тебе вещи в существующие классы например оч не хватает в Java
источник

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
у меня наоборот - возможность через них подмешать нужные тебе вещи в существующие классы например оч не хватает в Java
Я в дажве дизайню классы так чтоб не надо было в них ничего подмешивать. Какой вообще прок в подмешивании чего либо в заведомо single-responcible класс?
источник

RK

Roman Khlebnov in JUG NN
Да, есть ООП, да, есть наследование, но когда тебе нужно добавить ровно один метод - наследоваться жутко впадлу
источник

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
Да, есть ООП, да, есть наследование, но когда тебе нужно добавить ровно один метод - наследоваться жутко впадлу
Для меня в своей практике нужда добавить метод в интерфейс это повод задать себе вопрос - все ли так с моей архитектурой, или пора рефакторить. Своего рода индикатор - очень помогает.
источник

RK

Roman Khlebnov in JUG NN
А если это стандартный интерфейс?
источник

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
А если это стандартный интерфейс?
Их я использую осторожно.
источник

RK

Roman Khlebnov in JUG NN
Или интерфейс сторонней либы?
источник

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
Или интерфейс сторонней либы?
Ответ тот же
источник

RK

Roman Khlebnov in JUG NN
Мне например недавно понадобилась либа, умеющая в портграфы. В Scala я бы недолго думая взял JGraphT и примешал к конкретному классу графа нужные мне вещи. А так пришлось велосипедить
источник

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
Мне например недавно понадобилась либа, умеющая в портграфы. В Scala я бы недолго думая взял JGraphT и примешал к конкретному классу графа нужные мне вещи. А так пришлось велосипедить
Не могу сказать как бы я поступил на твоем месте. Для меня jgrapht это конкретика, одно из возможных решений гипотетической бизнес-задачи. Постановка бизнес-задачи = дизайн интерфейсов. Какая была бизнес-задача?
источник

RK

Roman Khlebnov in JUG NN
Построить и провалидировать множество портграфов
источник

RK

Roman Khlebnov in JUG NN
Т.е. граф, вершины которого имеют входящие и исходящие порты
источник

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
Т.е. граф, вершины которого имеют входящие и исходящие порты
На графах я уже один раз огреб из-за хренового знания матчасти, но попробую. Из бизнес задачи видны следующие интерфейсы:

interface Graph {
/// методы для доступа к полям и ребрам. Имплементаций может быть несколько в зависимости от внутреннего способа представления графа
}

Какой нибудь наследник от Predicate, принимающий граф и отвечающий - валидный он или нет.
источник

SK

Sergey Kapralov in JUG NN
Вне зависимости от того какой граф и как мы валидируем, если интерфейсы спроектированы верно, они не будут меняться.
источник

SK

Sergey Kapralov in JUG NN
И не будет нужды ничего никуда подмешивать. Интерфейс Graph уже будет в себе содержать все необходимое для reasoningа на графе.
источник

SK

Sergey Kapralov in JUG NN
Но опять же это - не энтерпрайс, не то. Граф он и завтра будет графом. Веселее когда есть бизнес и его постоянно меняющиеся требования.
источник

SS

Sergey Smyshlyaev in JUG NN
Насчёт расширяемости, помню как в одном проекте, где мы с @max_belov вместе работали, в деплоймент можно было подложить джарник с любыми классами в специальную папку, и они загрузятся в первую очередь. Очень удобно было фиксы тестить.
источник

MB

Maxim Belov in JUG NN
Sergey Smyshlyaev
Насчёт расширяемости, помню как в одном проекте, где мы с @max_belov вместе работали, в деплоймент можно было подложить джарник с любыми классами в специальную папку, и они загрузятся в первую очередь. Очень удобно было фиксы тестить.
delta_mcp.jar? У меня сейчас скупая мужская слеза ностальгии скатилась просто 😅
источник