Да, конечно. Основной скрин регистрации бота на английском, других скринов я что-то не увидел, кроме тех, где ты запустил приложение. Но к написанию статьи это никакого отношения не имеет.
Компонент Main — это конечная деталь, политика самого низкого уровня.
Он является точкой входа в систему. От него ничего не зависит, кроме работоспособности системы. Его задача — создать все Фабрики, Стратегии
и другие глобальные средства и затем передать управление высокоуровневым абстракциям в системе.
Спешу удовлетворить Ваш интерес. Из книги Роберта Мартина «Чистая архитектура», издание 2018 года, 77 страница. Слова «подтип» там нет. Изучать чистую архитектуру по википедии… Ну, такое… :) Уж лучше хабр :)
Добавлю чёткости. На предыдущем месте работы одна команда писала заказ для одного крупного ритейлера (привет, Николай). О S.O.L.I.D ничего не слышали (привет, Джонни). Пролетели по срокам более чем в 2 раза. На код без слёз не взглянешь.
Не увидел в расшифровке Ваших претензий про «вообще жесть», я-то думал, сейчас узнаю, как я опозорился, а в ответ услышал филосовское в стиле: «ну ок, в принципе, ладно».
Ну теперь-то уж нам только и остаётся, что «остаться при своём», благо, Ваш адвокат постом выше очень обстоятельно лёг на абмразуру, так что, вдаваться в дальнейшую дискуссию, действительно, смысла нет.
Да, Вы во многом правы, если закопаться очень глубоко и долго дискутировать на эти, в общем-то, философские темы, но зачем заниматься буквоедством? Даже в узком кругу мы стараемся общаться на понятном друг другу языке, а большинство постов на Хабре пишутся для широкой публики, максимально просто и понятно.
И раз уж мне действительно непонятно, что это товарищ прицепился с таким замечанием, так может, Вы позволите ему самому высказаться и объяснить свою позицию?
Как объекту можно присвоить ссылку? Давайте подумаем.
Как нам известно, объект создаётся при помощи конструкции
var user = new User();
Как работает эта конструкция (если вкратце)? new — ключевое слово, выделяющее память под объект. User — тип объекта. () — вызываемый конструктор.
и самое главное — user — это ссылка.
Соответственно, при создании нового объекта происходит выделение памяти под этот объект, в нужный конструктор отправляются параметры, если они есть, и объекту присваивается ссылка, по которой мы можем этот объект потом достать.
Можем ли мы присвоить объекту ещё одну ссылку? Конечно. Например:
user1 = user;
Что произошло? Мы не создали новый объект, не выделили память под него. Мы просто присвоили ему ещё одну ссылку. Теперь объект доступен из памяти по двум ссылкам, а не по одной.
Окей. Как происходит преобразование объекта?
Object object = getObject();
var user = (User) object;
При преобразовании объекта, насколько мне известно, происходит следующее:
— тип объекта теперь User, со всеми полями и методами
— новый объект при этом не создаётся
— преобразованному объекту присваивается новая ссылка — user.
Теперь объект можно получить по обеим ссылкам — по старой и по присвоенной.
Так почему присвоение ссылки объекту? Потому что для одного объекта может быть много ссылок, а для ссылки объект всего один. Ссылка принадлежит объекту, а не наоборот.
Вроде всё красиво, одно не понятно: как запихнуть в пакет ресурсы приложения с фс,
то бишь произвольные файлы, которые надо положить в конкретное место.
Вероятно, разработчики планируют использовать упаковщик только для десктопных приложений, где обычно не подразумевается распределение пропертей.
Мне не понятно, почему сообщение ссылается на поля, а не на методы. А если геттер возвращает вообще другое поле/сам что-то вычисляет или вообще сам возвращает null?
Вам, похоже, нужен Embeded Postgres + java-генератор, описанный в статье (через ApplicationListener). В таком случае, при сборке сначала отработает Embeded Postgres, поднимет Вам базу, потом отработает flyway и накатит таблицы, а потом сработает генератор, который сгенерирует сущности. При остановке приложения база будет свёрнута.
Рабочая конфигурация при этом не сильно будет отличаться от предложенной в посте (Postgres меняем на Embeded — вот и все отличия).
Когда на тебя лает собака, вовсе необязательно разделять её уровень дискуссии, становиться на четвереньки, лаять в ответ и «объяснять свою позицию». Именно по этим соображениям я не поддержал начатую Вами «дискуссию». Прошу Вас больше не тратить моё время, да и своё тоже.
Телеграм бот прогноза погоды на Java Spring
Да, конечно. Основной скрин регистрации бота на английском, других скринов я что-то не увидел, кроме тех, где ты запустил приложение. Но к написанию статьи это никакого отношения не имеет.
Телеграм бот прогноза погоды на Java Spring
по-английски call - это и звонок, и вызов. просто "автор" спёр откуда-то статью на английском, криво перевёл в гугл-переводчике и выдал за свою
Понятнее о S.O.L.I.D
Понятнее о S.O.L.I.D
Понятнее о S.O.L.I.D
Понятнее о S.O.L.I.D
Компонент Main — это конечная деталь, политика самого низкого уровня.
Он является точкой входа в систему. От него ничего не зависит, кроме работоспособности системы. Его задача — создать все Фабрики, Стратегии
и другие глобальные средства и затем передать управление высокоуровневым абстракциям в системе.
Роберт Мартин, «Чистый код».
Я думал, Вы про микросервисы, к примеру.
Понятнее о S.O.L.I.D
Понятнее о S.O.L.I.D
Понятнее о S.O.L.I.D
Понятнее о S.O.L.I.D
Понятнее о S.O.L.I.D
Java 14: Record, более лаконичный instanceof, упаковщик jpackage, switch-лямбды и текстовые блоки
Ну теперь-то уж нам только и остаётся, что «остаться при своём», благо, Ваш адвокат постом выше очень обстоятельно лёг на абмразуру, так что, вдаваться в дальнейшую дискуссию, действительно, смысла нет.
Java 14: Record, более лаконичный instanceof, упаковщик jpackage, switch-лямбды и текстовые блоки
И раз уж мне действительно непонятно, что это товарищ прицепился с таким замечанием, так может, Вы позволите ему самому высказаться и объяснить свою позицию?
А Вам — хороших выходных.
Java 14: Record, более лаконичный instanceof, упаковщик jpackage, switch-лямбды и текстовые блоки
Как нам известно, объект создаётся при помощи конструкции
Как работает эта конструкция (если вкратце)?
new — ключевое слово, выделяющее память под объект.
User — тип объекта.
() — вызываемый конструктор.
и самое главное — user — это ссылка.
Соответственно, при создании нового объекта происходит выделение памяти под этот объект, в нужный конструктор отправляются параметры, если они есть, и объекту присваивается ссылка, по которой мы можем этот объект потом достать.
Можем ли мы присвоить объекту ещё одну ссылку? Конечно. Например:
Что произошло? Мы не создали новый объект, не выделили память под него. Мы просто присвоили ему ещё одну ссылку. Теперь объект доступен из памяти по двум ссылкам, а не по одной.
Окей. Как происходит преобразование объекта?
При преобразовании объекта, насколько мне известно, происходит следующее:
— тип объекта теперь User, со всеми полями и методами
— новый объект при этом не создаётся
— преобразованному объекту присваивается новая ссылка — user.
Теперь объект можно получить по обеим ссылкам — по старой и по присвоенной.
Так почему присвоение ссылки объекту? Потому что для одного объекта может быть много ссылок, а для ссылки объект всего один. Ссылка принадлежит объекту, а не наоборот.
Но Вы и так это знаете.
Java 14: Record, более лаконичный instanceof, упаковщик jpackage, switch-лямбды и текстовые блоки
Вероятно, разработчики планируют использовать упаковщик только для десктопных приложений, где обычно не подразумевается распределение пропертей.
Ну так null может быть только поле, а не метод :)
Java 14: Record, более лаконичный instanceof, упаковщик jpackage, switch-лямбды и текстовые блоки
Java 14: Record, более лаконичный instanceof, упаковщик jpackage, switch-лямбды и текстовые блоки
JOOQ и его кроличья нора. Как выжить без Hibernate
Рабочая конфигурация при этом не сильно будет отличаться от предложенной в посте (Postgres меняем на Embeded — вот и все отличия).
JOOQ и его кроличья нора. Как выжить без Hibernate
JOOQ и его кроличья нора. Как выжить без Hibernate