Глибоко про Функціональне Програмування в Java 🔥

Поделиться
HTML-код
  • Опубликовано: 28 май 2024
  • 👉 Приєднуйся до Bobocode Community: www.bobocode.com/
    ____________________________________________
    𝙋𝙖𝙩𝙧𝙚𝙤𝙣: / bobocode
    𝙂𝙞𝙩𝙃𝙪𝙗: github.com/bobocode-projects
    Telegram-канал: t.me/bobocode​
    Linkedin: bit.ly/2RWPQF5
    Twitter: bit.ly/3vaQiOl
    Тарас в LinkedIn: bit.ly/2ElWg8J
    Тарас в Twitter: bit.ly/33Pmuwg
    ____________________________________________
    7-ме заняття тренувальної програми Ultimate Enterprise Java (2021).
    УВАГА! Відеозапис не містить активної частини заняття.
    00:00 - Нарізка найважливіших моментів
    03:14 - Початок
    03:22 - План заняття
    03:41 - Як еволюціонує Java (JCP, JSR)
    08:01 - Чому важливо мати глибокі знання і сильні навики?
    10:00 - ЛЯМБДИ
    12:07 - Що таке лямбда?
    12:44 - Що найважливіше памʼятати про лямбди?
    13:33 - Базові функціональні інтерфейси
    14:57 - Що робити, коли в коді проблема?
    16:05 - invokeDynamic або як працюють лямбди?
    18:45 - Розбір байт коду лямбди.
    26:42 - ПОСИЛАННЯ НА МЕТОД (Method reference)
    27:35 - Основи method reference
    27:38 - 1. Посилання на статичний метод через клас
    30:00 - 2. Посилання на нестатичний метод через обʼєкт
    30:55 - 3. Посилання на нестатичний метод через клас
    34:24 - Різні посилання на той самий метод
    36:55 - Q&A
    43:03 - Детальне пояснення 3-го типу посилання на метод
    46:25 - Розбір байткоду посилання на метод (method reference)
    48:31 - Функції вищого порядку
    54:09 - Композиції функцій
    59:23 - Як композувати предикати?
    01:01:16 - На сьогодні, мабуть, все :)
    #opensource #java #education

Комментарии • 15

  • @Bobocode
    @Bobocode  2 года назад +2

    👉 Навчання від Bobocode: bit.ly/3IRrJhj

  • @user-nq4bt9lm2d
    @user-nq4bt9lm2d Год назад

    Дякую. Дуже цікаве заняття. Дізнавіся глибше про лямбди. Думав, що це лише анонімний клас.

  • @HaiIag
    @HaiIag 2 года назад +2

    Дякую за відео

  • @eq716
    @eq716 2 года назад

    дякую! корисно!

  • @yerm
    @yerm 2 года назад +3

    Можете навести приклади best practices використання функціональних інтерфейсів при розробці веб застосунка? Дякую.

    • @Bobocode
      @Bobocode  2 года назад +7

      1. Віддавати перевагу стандартним інтерфейсам (з пакету java.util.function)
      2. Використ. більш конкретний інтерфейс (напр. UnaryOperator замість Function)
      3. Використ. спеціальні інтерфейси для примітивів (напр. IntToDoubleFunction замість Function)
      4. Створювати свій інтерфесй, якщо це якась важлива абстакція і якщо ви додаєте свій javadoc
      5. Ставити @FunctionalInterface якщо створюєте свій інтерфейс

  • @baibula
    @baibula Год назад +1

    Функціональне програмування найцікавіша штука, яку я коли-небудь бачив.

    • @Bobocode
      @Bobocode  Год назад +1

      Клас... Думаю, що попереду у вас ще багато цікавого 😀

  • @Bobocode
    @Bobocode  2 года назад +10

    ДЗ:
    Вправа crazy-lambdas (bit.ly/3JEtdLB)

    • @goodvin8554
      @goodvin8554 Год назад +1

      Дійсно crazy, довелось поламати мозок, дякую за вправи () -> () -> () -> "WELL DONE!" :)

  • @andriikukuruza6844
    @andriikukuruza6844 2 года назад

    дякую :)

  • @rostyslavb1569
    @rostyslavb1569 Год назад +1

    Як виявляється метод референт досить таки потужна тема🫣

  • @feoktant
    @feoktant 2 года назад

    > Де ви ще бачили композицію функцій
    Spring WebFlux - RouterFunction, така сама ідея компонування

  • @pashakislov3053
    @pashakislov3053 Год назад

    Чому не можна викликати static method на обекті в method reference? Так не працює obj::staticmethod, а так працює obj::nonStaticMethod

    • @Bobocode
      @Bobocode  Год назад +3

      На статичні методи потрібно посилатися через клас, а не обʼєкт.