Основы объектно-ориентированного программирования
0e1cc9b4

Два стиля


Ряд основных различий между понятиями, о которых шла речь, мы представили в виде таблицы.

Итак, есть два отношения - "быть потомком" и "быть клиентом"; две формы повторного использования - интерфейсов и реализаций; скрытие информации и его отсутствие; защита от изменений в поставляемых модулях и отсутствие таковой.

Наличие альтернатив в любом случае не вносит противоречий, и в зависимости от контекста каждый из вариантов вполне оправдан. Отважимся на смелый шаг и сведем эти противоположности в одно целое:

Таблица 16.1. Слияние четырех противоположностей

КлиентПотомок

Повторное использование интерфейсов

Информация скрывается

Исходная реализация защищена

Повторное использование реализаций

Информация не скрывается

Исходная реализация не защищена

Возможно, есть и другие подходы к решению этой проблемы, но я не знаю ни одного столь же простого, доступного и практичного.



Содержание раздела