SOLID в деталях: Принцип открытости/закрытости

Поділитися
Вставка
  • Опубліковано 15 гру 2024

КОМЕНТАРІ • 20

  • @СергейБеркетов-ф2к
    @СергейБеркетов-ф2к Місяць тому +1

    Спасибо!

  • @Mnbvc-oc8wv
    @Mnbvc-oc8wv Рік тому +6

    Очень приятный голос и понятное объяснение, мне нравится. Классный канал!

  • @nikolaymatvienko1090
    @nikolaymatvienko1090 Рік тому +3

    Ждем продолжения! В видео вы упомянули про мониторринг обращений к функции - через что это лучше делать? Хотелось бы еще несколько примеров с расширением, модификацией интерфесов.

    • @shurik_codes
      @shurik_codes  Рік тому +1

      Способов мониторинга много - от банального логгирования до использования инструментов мониторинга и трассировки вроде Sentry, Zipkin или Jaeger. В качестве примеров модификации и расширения интерфейсов я хотел привести в качестве примера структуру интерфейсов репозиториев из Spring Data, но в процессе работы над материалом идея вылетела из головы.

    • @wizycom
      @wizycom Рік тому +1

      @@shurik_codes есть какой то аллертинг, от обратного!? Те прошло хх дней и метод У/ деприкейтед не использовался, можно удалять?!
      Пс за ролики спасибо 😊

    • @shurik_codes
      @shurik_codes  Рік тому

      Я такого не встречал, впрочем, и не скажу, что искал)

  • @romanovichihin2429
    @romanovichihin2429 Рік тому +1

    Лайк, коммент, пошел смотреть следующий ролик.

  • @alexeysvetlenko2217
    @alexeysvetlenko2217 Рік тому +1

    Очень круто!

  • @kirilluroven8491
    @kirilluroven8491 Рік тому +1

    круто, полезно, спасибо!

  • @СергейМалышев-т9у

    Отлично!

  • @romanovichihin2429
    @romanovichihin2429 Рік тому +1

    Очень хотелось бы увидеть ролик про кэширование.

  • @nicolaespinu5278
    @nicolaespinu5278 Рік тому +1

    Good job!

  • @viktor.florinskiy
    @viktor.florinskiy Рік тому +1

    Спасибо за видео. Вопрос: а если мне нужно добавить через некоторое время метод findByEmail, интерфейс я менять не могу. Новый заводить? а если заведу новый, нужно ли старый туда тож имплементить (в реализацию имею ввиду)? и как потом пользоваться? Вот я создал сервис, там могу искать по имейлу или по айди, придется 2 класса инжектить? можно ли как то все же обойтись одним? те хочу в сервис инжектить только personalRepository но при этом чтобы там появлялся новый функционал. И как быть с сервисами?) вот у меня в сервисе был метод только поиска по айди а теперь как и в репозитории тож появился метод на поиск по имейлу, но сервис я изменить же тоже не могу получается? и что тогда делать? создавать новый сервис?)

    • @shurik_codes
      @shurik_codes  Рік тому

      Оптимально - заводить новый интерфейс, его можно реализовывать в существующем классе, а можно в отдельном. Но в любом случае внедрять зависимости нужно будет по интерфейсам.
      Хотя стоит отметить, что этот принцип больше связан с публичными API, предоставляемыми другим библиотекам и приложениям, если тот же репозиторий реализуется для самого себя, то можно вносить изменения и в интерфейс. А вот вносить изменения в существующие публичные REST API не стоит

    • @viktor.florinskiy
      @viktor.florinskiy Рік тому +1

      @@shurik_codes спасибо

  • @alexeysvetlenko2217
    @alexeysvetlenko2217 Рік тому

    Может лучше делать примеры на Kotlin ?

  • @ChillMouse
    @ChillMouse 10 місяців тому

    Привет
    Слушай, а вот полиморфизмом что считается и не считается?
    1. Мы можем создать интерфейс, который будут реализовывать разные два класса по-разному, и это полиморфизм для методов исходя из интерфейса
    2. Мы можем сделать класс, у которого будут перегружены два метода, но имена методов одинаковые, сигнатуры разные, и это полиморфизм для методов исходя из одного класса
    Верно?

    • @shurik_codes
      @shurik_codes  10 місяців тому

      Первое - это наследование, а вот второе - это полиморфизм

  • @alexplishkin5811
    @alexplishkin5811 Рік тому +1

    Если честно Мартин походу что то курил когда писал про этот принцип. Каждые 10 лет он звучит по другому. В 22 году в твиттере он опять написал что значит этот принцип, и он очень отличается от того что он писал изначально.