Введение в архитектуру ПО. Часть 3: Объектно-ориентированное программирование и власть над зависимостями
В данной статье вы узнаете о том, что объектно-ориентированное программирование даёт архитектору контроль над направлением зависимостей в исходном коде, и почему из всего набора его средств этот контроль оказывается главным. Мы разберём три понятия, которыми принято определять такой подход - инкапсуляцию, наследование и полиморфизм, - и выясним, что архитектурную работу выполняет лишь одно из них. Отдельно и подробно рассмотрен полиморфизм: его устройство на уровне указателей на функции и приём инверсии зависимости, который он открывает. Вы также познакомитесь с архитектурой сменных модулей, где база данных и пользовательский интерфейс становятся плагинами к бизнес-правилам, узнаете о типичной ошибке при объявлении интерфейса и о границах применимости приёма.
