Size: a a a

Software Design/Architecture/Zen

2020 October 20

E

Evgen in Software Design/Architecture/Zen
Андрей Кутяев
ну вроде как к программированию относится. рабочий инструмент... с языком раза в два больше платят
Вообще - любые курсы. Их будет достаточно для работы
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Андрей Кутяев
Привет! Кто может посоветовать реальные эффективные курсы/уроки и т.д. чтобы заговорить на английском?
чтобы начать говорить на английском, нужно начать говорить на английском
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Dmitriy Tkachenko
чтобы начать говорить на английском, нужно начать говорить на английском
+100500
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
других вариантов пока нет
источник

R

Roman in Software Design/Architecture/Zen
А подскажите ещё одно. Есть у меня, например, промокоды. Они могут быть используемыми на текущий момент, а может уже нет (устарели, активированы и т.п.). Логику "устаревания" логично поместить в доменную модель. Но при этом, чтобы получить список _актуальных_ промокодов, мне нужно из репозитория получить все промокоды, которые в нём есть (а их может быть миллиард) и прогнать через доменную часть.

Поэтому я сделал метод в репо "load_usable", но пришлось часть логики переложить на конкретную реализацию репо. Ок ли это и неизбежное зло или есть какие-то способы не утаскивать логику в репо?
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Roman
А подскажите ещё одно. Есть у меня, например, промокоды. Они могут быть используемыми на текущий момент, а может уже нет (устарели, активированы и т.п.). Логику "устаревания" логично поместить в доменную модель. Но при этом, чтобы получить список _актуальных_ промокодов, мне нужно из репозитория получить все промокоды, которые в нём есть (а их может быть миллиард) и прогнать через доменную часть.

Поэтому я сделал метод в репо "load_usable", но пришлось часть логики переложить на конкретную реализацию репо. Ок ли это и неизбежное зло или есть какие-то способы не утаскивать логику в репо?
потому что все забывают о том, что коллекция - это тоже структура
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
тебе надо выбрать коллеекцию. вот и опиши как твоя коллекция работает
источник

R

Roman in Software Design/Architecture/Zen
Что ты имеешь ввиду?
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Roman
А подскажите ещё одно. Есть у меня, например, промокоды. Они могут быть используемыми на текущий момент, а может уже нет (устарели, активированы и т.п.). Логику "устаревания" логично поместить в доменную модель. Но при этом, чтобы получить список _актуальных_ промокодов, мне нужно из репозитория получить все промокоды, которые в нём есть (а их может быть миллиард) и прогнать через доменную часть.

Поэтому я сделал метод в репо "load_usable", но пришлось часть логики переложить на конкретную реализацию репо. Ок ли это и неизбежное зло или есть какие-то способы не утаскивать логику в репо?
крон
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Roman
Что ты имеешь ввиду?
я имею ввиду что ты сильно перемудриваешь: KISS нам поможет. оставь в репе в коментах просто сылку на доменную модель

сделай себе выборку в репе и не переживай.
источник

R

Roman in Software Design/Architecture/Zen
Крон? Ну а допустим, если мне нужно загрузить "актуальные промокоды, которые подходят юзеру X". И юзеров несколько миллионов. Для каждого создавать выборку каждую минуту?)
источник

R

Roman in Software Design/Architecture/Zen
Андрей Ява
я имею ввиду что ты сильно перемудриваешь: KISS нам поможет. оставь в репе в коментах просто сылку на доменную модель

сделай себе выборку в репе и не переживай.
Окей, я упарываюсь, так и думал. Спасибо)
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Roman
Потому что модель содержит их. Вот, например, начал добавлять в создание промокода параметры, их уже пять. И может увеличиться
у меня в проекте есть объекты (дтохи) с 30 полями, и все это в конструкторе) что поделать. по-хорошему надо createFromArray метод, и fluent immutable setters, наверное. но можно просто не морочиться и зафигачить кучу паблик полей и конструктор с 30 аргументами
источник

R

Roman in Software Design/Architecture/Zen
30 аргументов в конструкторе — тебя бы дядя Боб разорвал
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Алексей Гевондян
у меня в проекте есть объекты (дтохи) с 30 полями, и все это в конструкторе) что поделать. по-хорошему надо createFromArray метод, и fluent immutable setters, наверное. но можно просто не морочиться и зафигачить кучу паблик полей и конструктор с 30 аргументами
Что-то с этими объектами явно не так
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Как лучше называть слушателей событий:
- по событию, например CommentCreatedListener
- по действию, например UpdateStatisticDataOnCommentCreated
- ...

?
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Сергей Предводителев
Что-то с этими объектами явно не так
первый шаг на пути замены массивов на объекты.
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Алексей Гевондян
первый шаг на пути замены массивов на объекты.
Скорей всего внутри свойства можно тоже в VO объединить
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
ну и получишь вместо одного класса десяток. увеличил сложность на пустом месте. в целом да, это все говорит о проблемах в проектировании, и так оно и есть. но бывает такое, что приходит от апишки такой объект на 40 полей - вот и делай с ним что хочешь.
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
интеграция с 1с, понимаешь ли
источник