Size: a a a

Software Design/Architecture/Zen

2021 January 29

HH

Human Human in Software Design/Architecture/Zen
Ioann_V
Ну, я скорее, про то, что будет класс cost_object и два поля в нем - какой то объект, и его цена?
Тебе надо расписать весь бизнес-процесс, чтобы понять ответ на этот вопрос. + попытаться предсказать будущие изменения в коде
источник

@

@LongMinasteriet in Software Design/Architecture/Zen
Руслан
Что уже написал, до того, как такая мысль возникла? Покажешь?
Писал калькулятор,  парсер картинки из интернета ( программа просто скачивала картинку ). консольный чат с двумя клиентами через домашний вайфай.
Базу данных школы написал
Больше ничего.
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Sergey Protko
Не должна, ну тоесть это один из вариантов. В ооп у тебя данные и поведение должны быть инкапсулированы. дальше проблема в том что обычно собирают данные по кучкам (мол вот это про кирпичек и вот то) а потом пихают поведение в то что вышло. Но можно и по другому - взять поведение и поместить в имя этого поведения необходимые оному данные
Telegram
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪ in Software Design/Architecture/Zen
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪:
Спроектировал ООПшник модель телевизора и модель пульта для включения телевизора. Поставили задачу "включить телевизор", а пульт где-то затерялся. Вместо того, чтоб включить телевизор, ООПшник долго ищет пульт по всей квартире - ведь именно пультом (по его задумке) "правильно" включать телевизор. Или даже пульт есть, а вот  "модель батарейки" в нём села. И ООПшник, вместо того, чтоб включить телевизор, бежит в магазин за новой батарейкой для пульта к телевизору ("В доме, который построил Джэк")

Завтра люди научились силой мысли включать приборы без пульта - и ООП-ник понял, что надо рефакторить весь проект, ведь без модели пульта его код просто не запустится.
У ФП-шника просто была функция, включающая телевизор. У него не было объектов. И ему было всё равно кто и чем тот телек включает. Правда, поскольку у него не было и модели телика, то по факту он включил что-то другое (например, ядерный реактор) - но это уже другая история...
источник

SP

Sergey Protko in Software Design/Architecture/Zen
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Telegram
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪ in Software Design/Architecture/Zen
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪:
Спроектировал ООПшник модель телевизора и модель пульта для включения телевизора. Поставили задачу "включить телевизор", а пульт где-то затерялся. Вместо того, чтоб включить телевизор, ООПшник долго ищет пульт по всей квартире - ведь именно пультом (по его задумке) "правильно" включать телевизор. Или даже пульт есть, а вот  "модель батарейки" в нём села. И ООПшник, вместо того, чтоб включить телевизор, бежит в магазин за новой батарейкой для пульта к телевизору ("В доме, который построил Джэк")

Завтра люди научились силой мысли включать приборы без пульта - и ООП-ник понял, что надо рефакторить весь проект, ведь без модели пульта его код просто не запустится.
У ФП-шника просто была функция, включающая телевизор. У него не было объектов. И ему было всё равно кто и чем тот телек включает. Правда, поскольку у него не было и модели телика, то по факту он включил что-то другое (например, ядерный реактор) - но это уже другая история...
Ммм в этой аналогии выглядит как пульт аргумент метода "включить" что просто говорит о тупости автора кода и что он не разобрался в проблеме
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Приветствую. Подскажите плиз.
Один из способов достижения низкого каплинга - отказ от геттеров. Tell-Don’t-Ask. Инкапсулируем все внутри, ничего не отдаем наружу.

Но вот обычная задача: есть товар, делаем заказ. Чтобы не привязываться внешним ключом к товару, да и не зависить от него во времени, для заказа создается дубликат данных товара на данный момент времени.  

Как получить эти данные в заказе без геттеров?  Вроде ответ на поверхности - ивент, но тогда надо тащить через ивент все данные, и разве это ок?  Или товар в данном случае можно сказать простая структура без логики и позволительно иметь геттеры?
Подскажите плиз направление в какую сторону извилину мозга направить.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Павел Г.
Приветствую. Подскажите плиз.
Один из способов достижения низкого каплинга - отказ от геттеров. Tell-Don’t-Ask. Инкапсулируем все внутри, ничего не отдаем наружу.

Но вот обычная задача: есть товар, делаем заказ. Чтобы не привязываться внешним ключом к товару, да и не зависить от него во времени, для заказа создается дубликат данных товара на данный момент времени.  

Как получить эти данные в заказе без геттеров?  Вроде ответ на поверхности - ивент, но тогда надо тащить через ивент все данные, и разве это ок?  Или товар в данном случае можно сказать простая структура без логики и позволительно иметь геттеры?
Подскажите плиз направление в какую сторону извилину мозга направить.
Фабричный метод у товара который возвращает тебе order line
источник

Р

Руслан in Software Design/Architecture/Zen
@LongMinasteriet
Писал калькулятор,  парсер картинки из интернета ( программа просто скачивала картинку ). консольный чат с двумя клиентами через домашний вайфай.
Базу данных школы написал
Больше ничего.
Код покажешь?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Павел Г.
Приветствую. Подскажите плиз.
Один из способов достижения низкого каплинга - отказ от геттеров. Tell-Don’t-Ask. Инкапсулируем все внутри, ничего не отдаем наружу.

Но вот обычная задача: есть товар, делаем заказ. Чтобы не привязываться внешним ключом к товару, да и не зависить от него во времени, для заказа создается дубликат данных товара на данный момент времени.  

Как получить эти данные в заказе без геттеров?  Вроде ответ на поверхности - ивент, но тогда надо тащить через ивент все данные, и разве это ок?  Или товар в данном случае можно сказать простая структура без логики и позволительно иметь геттеры?
Подскажите плиз направление в какую сторону извилину мозга направить.
Но вообще звучит плохо, обычно дочат стоимость товара
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Sergey Protko
Фабричный метод у товара который возвращает тебе order line
Выходит товар знает о заказе, да и чем это отличается от геттера? Грубо говоря отдаем ДТОшку из товара. Или я не понял.
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Sergey Protko
Но вообще звучит плохо, обычно дочат стоимость товара
А как лучше?
источник

@

@LongMinasteriet in Software Design/Architecture/Zen
Руслан
Код покажешь?
могу на гит загрузить или файл из вижлы скинуть
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Павел Г.
А как лучше?
Гугли udi dahan if cqrs saga
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Sergey Protko
Гугли udi dahan if cqrs saga
ок спс
источник

Р

Руслан in Software Design/Architecture/Zen
@LongMinasteriet
могу на гит загрузить или файл из вижлы скинуть
Давай
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Павел Г.
Выходит товар знает о заказе, да и чем это отличается от геттера? Грубо говоря отдаем ДТОшку из товара. Или я не понял.
Ещё гугли your aggregates are wrong - у тебя неправильное представление о том кому от чего можно зависеть и что о чем может знать
источник

VS

Vladimir Smirnov in Software Design/Architecture/Zen
@LongMinasteriet
Бойцы,  дело серьёзное. Застрял в ванне собственных сомнений. нужны идеи или совет опытных вождей.
Знаю синтаксис c# , знаю немного Ms SQl,  Linq.
Какой проэкт реализовать (  конкретный пример ) что бы использовать свои навыки и  в резюме потом записать. Моя цель это backed разработка.
Суть в том что не могу понять куда двигаться и за что браться. Потому прошу помощи у тех кто уже прошёл этот этап и знает куда надо воевать, что бы не стоять на месте. Буду очень признателен.
Когда переходил вайти, на заводе инженером работал, писал для себя что то типа системы контроля производства, изделие по разным этапам проходит и вся инфа контрольная(параметры испытаний  и тд) вбивается в систему и агрегируется, можно отчеты выгружать и тд, а то до этого все в журналы руками писалось

Но естественно все очень криво было)

Но если в общем то да, как сказали выше, чем сам будешь пользоваться и в предметной области чего есть экспертиза
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Sergey Protko
Но вообще звучит плохо, обычно дочат стоимость товара
Опять таки стоймость товара надо тоже вытащить из товара и передать в заказ.
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Sergey Protko
Ещё гугли your aggregates are wrong - у тебя неправильное представление о том кому от чего можно зависеть и что о чем может знать
Да смотрел, но что-то не выходит применить. Но это уже мои проблемы что не доходит)
источник

Р

Руслан in Software Design/Architecture/Zen
Павел Г.
Да смотрел, но что-то не выходит применить. Но это уже мои проблемы что не доходит)
Все советуют, но сами применять не торопится
Видимо сами не понимают о чем речь шла
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Павел Г.
Опять таки стоймость товара надо тоже вытащить из товара и передать в заказ.
Фабричный метод просто order line про заказы только I'd знает и не больше
источник