Обновить
0
0

Пользователь

Отправить сообщение

Предлагаю к обсуждению иллюстрацию применения принципа DIP на примере машиностроения

Предположим, что собирается автомобиль, который использует болты M6 с определённой маркой стали. Производители автомобилей и производители болтов ничего не знают друг о друге: одни проектируют и собирают автомобили, другие производят болты. Однако существует ГОСТ, который определяет требования к болтам, их размерам, материалам и условиям применения. ГОСТ задаёт универсальный стандарт, понятный как производителям автомобилей, так и производителям болтов.

В данном случае:

  1. Модуль верхнего уровня (МВУ): Производитель автомобилей. Он описывает, какие характеристики болтов ему необходимы (например, диаметр 6 мм, определённая марка стали) для сборки автомобилей, но ему не нужно знать, кто именно поставляет эти болты.

  2. Абстракция: ГОСТ, который определяет требования к болтам. Это уровень абстракции, обеспечивающий стандарты взаимодействия между МВУ и МНУ. ГОСТ описывает "интерфейс взаимодействия", задавая требования к публичным методам классов в терминах программирования.

  3. Модуль нижнего уровня (МНУ): Производители болтов. Они изготавливают болты в соответствии с ГОСТом, не имея информации о том, как именно их продукция будет использоваться — в автомобилях, бытовой технике или другом оборудовании.

Таким образом, вместо двух уровней взаимодействия (МВУ и МНУ), фактически выделяется три уровня, где абстракция (ГОСТ) выступает связующим звеном.


Границы модулей в контексте примера:

  • МВУ (Модули верхнего уровня): Производство автомобиля + Абстракция (ГОСТ) на болты.
    Задача: Производитель автомобилей определяет стандарты (требования к болтам) и использует эти стандарты для взаимодействия с болтами.

  • МНУ (Модули нижнего уровня): Производство болтов по ГОСТу.
    Задача: Производители болтов реализуют требования ГОСТа, создавая продукт, соответствующий стандартам.

    Абстракцию (в данном случае ГОСТ) создаёт верхний уровень (МВУ), а не нижний (МНУ). Это важно, чтобы МВУ был независим от деталей реализации, которые могут изменяться на нижнем уровне.

    Если бы ГОСТ создавался производителями болтов, то производитель автомобилей был бы зависим от конкретных деталей реализации, что нарушает DIP.

Необыкновенный концерт. Театр кукол Сергея Образцова (1972)
https://www.youtube.com/watch?v=CESipl0AW7s&t=4865s

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность