Рубрики
ООП "Паттерны"

ООП Patterns «Понятие»

Паттерн
шаблон проектирования

Часто встречающиеся решение определённой проблемы при проектировании архитектуры
(веб-приложения или любой другой программы)

Способ решения периодически возникающих проблем некоторых типовых задач

Паттерн — это не

  • не библиотека
  • не алгоритмы, которые предоставляют чёткий набор действий
  • не набор определённых функций
  • не набор определённых методов
  • не готовое решение, которое можно скопировать в свой проект
Рубрики
ООП принцип "Инкапсуляция"

ООП принцип Инкапсуляция «Понятие»

  • Скрытие структуры объекта от внешнего воздействия
  • Объект состоит из полей и методов, которые изменяют состояние самого объекта.
  • понятие очень тесно пересекается с таким понятием как сокрытие.

    Инкапсуляция это очень простое понятие, которое зачастую любят усложнять.

    Его суть заключается в том, сам класс является своего рода капсулой, которое содержит в себе

    • содержит в себе свойства
    • содержит методы, для работы с этими свойствами

    т.е. капсула позволяет объединить.

    Это кажется очень очевидным свойством, но если посмотреть на свойство из контекста процедурного программирования, где таких капсул нет, то всё сразу становится на свои места и принцип инкапсуляции становится понятен. Но как всегда рядом с инкапсуляцией всегда идёт сокрытие и здесь объяснить немножечко сложнее и рассмотрим на примере.

    Рубрики
    5. Dependency inversion principle SOLID

    SOLID «EXAMPLE» Музыкальное приложение

    5. Dependency inversion principle
    Принцип инверсии зависимости

    создаем объект — экземпляр класса яндекс музыка API работаем с этим экземплярам в разных местах приложения — вызываем метод

    создаем Yandex класс
    музыку мы будем получать из яндекс музыки
    class YandexMusicApi {
     get(){}
    }
    const MusicApp = () ={
      const API = new YandexMusicApi()
      API.get()
    }
    Рубрики
    5. Dependency inversion principle SOLID

    Dependency inversion principle «Понятие»

    5. Dependency inversion principle
    Принцип инверсии зависимости

    • модули высокого уровня должны зависеть от модулей более низкого уровня
    • все они должны зависеть от абстракции
    • абстракции не должны зависеть от деталей
    • детали должны зависеть от абстракций
    Рубрики
    4. Interface segregation principle SOLID

    SOLID «EXAMPLE» класс клиент-сервер

    4. Interface segregation principle
    Принцип разделения интерфейса

    СервисСайт рендериг приложение с клиентом и сервером

    const client = () => { }
    const server = () => { }