Чем больше я проникаюсь идеями ООП, тем больше возникает ощущение, что я это уже где-то видел
Например, вот развитие понятия интерфейса в ООП. Начиналось все с того, что некоторые данные из structа научились скрывать. Потом началось повальное скрытие данных — инкапсуляция

. И уже в то время оформились обратные идеи — вместо того, чтобы скрывать некоторые данные из всех доступных, надо скрыть все и выдать нагора тщательно отмеренную чуточку — интерфейс. Просто дать обязательство, что помимо всего прочего, я мол являюсь по совместительству и этим-то.
С появлением Паттернов от Банды Четырех эта идея окончательно оформилась — вместо того, чтобы скрыть побольше, надо стремиться показать поменьше. Теперь у нас есть интерфейс, и мы можем с ним работать, ничего не зная о том, что за сущность за ним скрывается — и нам собственно все равно, главное, что она реализовывает нужный нам интерфейс.
А теперь вспомним, как развивались определения в математике. Сначала просто тыкали пальцем — вот это то, а вот это — это. А потом появились аксиоматические определения — например, расстояние — это любая штука такого-то рода, удовлетворяющая таким-то и таким-то аксиомам. И нам все равно, что это за расстояние — евклидова метрика на плоскости, или метрика Хаусдорфа на пространстве компактов. Ну как здесь не сказать, что например, норма реализует интерфейс "расстояние"?
Или вот еще — иерархия классов и множество теорем в математике. Если разрешить множественное наследование, то каждый новый класс наследует какое-то количество уже созданных, а каждая теорема опирается в доказательстве на какое-то подмножество уже доказанных. И при этом верхушки иерархий — интерфейсы или аксиоматические определения.
У теоремы есть утверждение и доказательство — интерфейсная часть и реализация.
Многие теоремы напоминают паттерн Адаптер — берут результат одной теоремы (утверждение которой тяжело прямо использовать в рассматриваемой модели), мучают-мучают преобразованиями — и в удобоваримом виде применяют результат в рассматриваемой теории.
Пишите, что думаете — интересны ваши мысли и наблюдения по этому поводу