Low Coupling
Low Coupling (низкая связанность) — это принцип проектирования программного обеспечения, который подразумевает, что модули или классы должны быть максимально независимы друг от друга. В контексте Java, низкая связанность означает, что
классы должны взаимодействовать друг с другом через четко определенные интерфейсы, а не напрямую через внутренние детали реализации.
В этом примере у нас есть интерфейс DataSource, который определяет контракт для получения данных. У нас также есть два класса, реализующих этот интерфейс: DatabaseDataSource и ApiDataSource. Класс DataProcessor обрабатывает данные, полученные из разных источников, но взаимодействует с ними только через интерфейс DataSource. Это обеспечивает низкую связанность между классами, так как DataProcessor не зависит от конкретных реализаций источников данных.