@jvmchat

Страница 2150 из 2890
Alexey
12.01.2018
11:02:40
И задача стоит - как? Понять какие скидки применить к моим брюкам?
Вы берёте брюки напрокат, выбираете период оплаты, возможно купон и персональную карту, и вам как-то расчитывается цена за прокат, которую надо будет заплатить в конце периода. За второй и последующие периоды цена может измениться, в нашем простейшем примере из-за одноразового купона например.

Google
Arsen
12.01.2018
11:04:48
Alexey
12.01.2018
11:04:53
Беру брюки напрокат? Мы точно об онлайн магазине говорим? о_О
Изначально речь шла о сервисе по подписке.

Sergey
12.01.2018
11:05:13
Arsen
12.01.2018
11:06:31
идея для стартапа — брюки as a service
всего за 50$ в месяц мы будем каждую неделю привозить вам пять пар брюк (чистых, глаженных, со стрелками) и забирать предыдущие пять на стирку и глажку

кто со мной пилить?

Alexey
12.01.2018
11:06:56
С носками кто-то такое уже сделал

Lackmorrison
12.01.2018
11:07:58
надеюсь они потом их не забирали

Arsen
12.01.2018
11:09:14
уже первый клиент

Oleksandr
12.01.2018
11:09:29
тут только один минус — не ясно, куда блокчейн всунуть, а какой сейчас стартап без этого?

Lackmorrison
12.01.2018
11:09:45
почему не ясно? очевидно в блокчейне история каждой пары брюк

кто носил и тд

Arsen
12.01.2018
11:09:52
пора искать девопса, трёх хаскелистов (то есть половину от всего имеющихся на рынке) и двух евангелистов

Google
Oleksandr
12.01.2018
11:10:16
хотя что я спрашиваю, это ж блокчейн

Lackmorrison
12.01.2018
11:10:54
ну как нафига, чтобы проверить что брюки ношены определенное количество раз, не превышающее договор, и тд, их историю

Arsen
12.01.2018
11:11:00
нафига?
потом по истории определять, у каких клиентов в каких местах брюки стираются чаще и привозить им брюки с укреплённой тканью именно в этих метсах

Arsen
12.01.2018
11:11:24
тогда ещё и датасаентист нужен в команду

Oleksandr
12.01.2018
11:11:33
все, надо ещё VR вснуть (для примерки брюк), и можно на ICO

Митко Соловец?
12.01.2018
11:14:31
пацаны, у вас работы нет чтоли?

одни и те же лица)

Alexey
12.01.2018
11:15:39
Мужчина, вы не видите, у меня обед?

Sergey
12.01.2018
11:15:40
Такой вопрос. А какие факторы могут приниматься во внимание при расчете цены за последующие периоды?
Можно попробовать сделать это так: интерфейс Купон. У него метод Цена новаяЦена(Цена). Имплементации купона прямо или через композицию учитывают историю юзера, которую берут из базы/другого сервиса. Но это неточно.

Митко Соловец?
12.01.2018
11:16:42
Arsen
12.01.2018
11:17:11
черт заорал на весь бц

Alexey
12.01.2018
11:17:17
Такой вопрос. А какие факторы могут приниматься во внимание при расчете цены за последующие периоды?
Наличие/отсутствие скидки (т.к. они имеют срок действия) - в простейшем случае. Срок действия скидки независим от продолжительности биллинг периода.

Евгений
12.01.2018
11:20:01
как хитро чел заставил всех на себя поработать)

дайте говорит мне реализацию)

Nikita
12.01.2018
11:20:17
так зарождался амазон ну или хотя бы озон ?

Alexey
12.01.2018
11:20:34
Google
Sergey
12.01.2018
11:20:54
Наличие/отсутствие скидки (т.к. они имеют срок действия) - в простейшем случае. Срок действия скидки независим от продолжительности биллинг периода.
Ну если срок действия скидки то ничто не мешает запилить контракт Скидка с методом старая цена -> нова цена и запилить СтатичнаяСкидка(процент), СкидкаСПериодом(Скидка, Период)

Nikita
12.01.2018
11:22:14
кобзон
три ГЕТ_ПЕСНЯ по флаеру по цене двух

Alexey
12.01.2018
11:25:05
И самое главное - я еще не конкретизировал что выше есть Процент и Период
Процент от цены, период - какой-то заранее известный период, месяц, три месяца, год и т.п.

Alexey
12.01.2018
11:25:52
В примере выше это ничего не меняет
Как в итоге будет выглядеть вызов расчёта?

Или как вообще будет применяться этот набор классов

Sergey
12.01.2018
11:26:23
ИМХО рановато об этом говорить, но пока что как Цена.цена()

Или вы - о матрешке?

Alexey
12.01.2018
11:27:28
Ну где-то же эта матрёшка появится, надо понять где и как она будет выглядеть в нашем простейшем примере

Bogdan
12.01.2018
11:30:34
Может ввести интерфейс который возращает модификаор цены (кофициент), также имеется поле или метод который определит интерфей типа КомбинацияКоф, коьорый уже буде возращать итоговый кофициент, при это Коф и КомбинацияКоф может быть одним обектом

Sergey
12.01.2018
11:30:35
Ну где-то же эта матрёшка появится, надо понять где и как она будет выглядеть в нашем простейшем примере
Ну я не буду уж здесь всю матрешку переписывать, по дискусси ее можно воссоздать. Единственное что - момент где я не согласен с Егором это то что эта матрешка должна быть в одном месте

Bogdan
12.01.2018
11:32:20
Ну этоточень абстрактно и требует доработки

Sergey
12.01.2018
11:32:22
Ну я не буду уж здесь всю матрешку переписывать, по дискусси ее можно воссоздать. Единственное что - момент где я не согласен с Егором это то что эта матрешка должна быть в одном месте
Но с этим можно легко справиться. Я обычно справляюсь примерно так: https://github.com/project-avral/oo-atom/blob/master/atom-basis/src/main/java/oo/atom/codegen/bytebuddy/smt/SmtAtomEquals.java

Но с этим можно легко справиться. Я обычно справляюсь примерно так: https://github.com/project-avral/oo-atom/blob/master/atom-basis/src/main/java/oo/atom/codegen/bytebuddy/smt/SmtAtomEquals.java
То есть - все методы класса final, сам класс не final. Наследовать можно но нельзя добавлять новых полей, методов, имплементировать новые интерфейсы. Только новые конструкторы

Sergey
12.01.2018
11:34:22
Ужас какой
Субъективно

Vitalii
12.01.2018
11:35:50
То есть - все методы класса final, сам класс не final. Наследовать можно но нельзя добавлять новых полей, методов, имплементировать новые интерфейсы. Только новые конструкторы
А не проще аггрегировать такой объект и делегировать вызовы при необходимости? Или есть необходимость в полиморфизме? Если второе, то в зависимости от случая и из этой ситуации можно выкрутиться.

Sergey
12.01.2018
11:36:13
То есть - все методы класса final, сам класс не final. Наследовать можно но нельзя добавлять новых полей, методов, имплементировать новые интерфейсы. Только новые конструкторы
Поясню. Оверрайдить методы равноценно content couplingу. Худшее что можно придумать в наследовании. Добавление новых полей и методов - размазывание cohesionа по стенке и нарушение SRP

Google
Vitalii
12.01.2018
11:37:30
Внутри твоего объекта хранить инстанс объекта, вместо его наследования.

Sergey
12.01.2018
11:38:04
Тут вот какой фокус

Семантически такой наследник абсолютно идентичен родителю (если не применять instanceof и рефлексию), только записывается в матрешке компактнее

Alexey
12.01.2018
11:46:31
Я до сих пор не понимаю, зачем из джавы придумывать то, чем она не является.

Admin
ERROR: S client not available

Alexey
12.01.2018
11:46:53
Она была спроектирована исходя из одних концепций, а её пытаются натянуть на другие.

Есть же чудесные jvm-языки типа Clojure, в которых можно хоть нотами код записывать

Интересная, кстати, идея. Музыкальное программирование

Играешь мелодию - пишешь код. Фальшиво сыграл - тесты красные

Валерий
12.01.2018
11:48:05
Потому что ООП в том виде, в котором оно в жаве, немного сломано

Vitalii
12.01.2018
11:48:13
С автокоррекцией. Кстати, хотел объектно-ориентированно. Понял, что хуйня, а переделывать лень было, надо было диплом на какую-то тему писать срочно.

Валерий
12.01.2018
11:48:20
Ну одна из причин

Sergey
12.01.2018
11:48:54
Валерий
12.01.2018
11:49:20
А вообще концепции устаревают, а все всё равно хотят на своём языке

Alexey
12.01.2018
11:49:40
Потому что ООП в том виде, в котором оно в жаве, немного сломано
Сломано ООП не в джаве, а у людей в голове такое представление было, исходя из которого они язык и спроектировали

Валерий
12.01.2018
11:49:50
А т.к. жава простая и мощная — тянут в нё

Google
Alexey
12.01.2018
11:49:59
Поэтому получаются попытки исправить дерево, которые уже выросло

Alexander
12.01.2018
11:50:49
Где лучше?

Alexey
12.01.2018
11:50:53
То же самое можно сказать и про спринги.
Спринг не пытается натягивать, там другая болезнь - чрезмерное сокрытие

Валерий
12.01.2018
11:50:55
alekum
12.01.2018
11:51:15
Огонь

Валерий
12.01.2018
11:51:17
Где лучше?
Делегация > наследование

Sergey
12.01.2018
11:51:18
Делегация > наследование
Больше не значит лучше. Больше инвариантов - тяжелее поддерживаемость

Валерий
12.01.2018
11:52:11
Оно не нарушает инкапсуляцию

Суть в этом

Alexander
12.01.2018
11:53:11
Завезли бы в жабку утиную типизпцию...

Валерий
12.01.2018
11:53:42
Зочем

Там и так всё не очень круто с типами

Alexey
12.01.2018
11:54:08
Sergey
12.01.2018
11:54:16
Спринг не пытается натягивать, там другая болезнь - чрезмерное сокрытие
ИМХО "натягивание" - благо. Если проследить историю парадигм от процедурного П продолжая стркутурным и заканчивая ООП/ФП - каждая новая парадигма натягивает свои правила по имя maintainability

Sergey
12.01.2018
11:54:48
Структурная положила табу на goto. ООП избавил от адресной арифметики, ФП - от мутабилити

Alexey
12.01.2018
11:54:52
Это C++

alekum
12.01.2018
11:55:20
goto живет

Страница 2150 из 2890