Проблема не техническая, а психологическая. Это то, что побуждает вас делать это просто.
Чтобы сделать мирскую аналогию, это похоже на кредитную карту. Это гораздо эффективнее, чем выписывать чеки или использовать наличные. Если это так, то почему люди так часто сталкиваются с кредитными картами? Потому что ими так легко пользоваться, что они злоупотребляют ими . Требуется великая дисциплина, чтобы не злоупотреблять хорошей вещью.
Способ оскорбления ОО -
Создание слишком большого количества "слоев абстракции"
Создание слишком большой избыточной структуры данных
Поощрение использования кода в стиле уведомлений, попытка поддерживать согласованность в избыточных структурах данных.
Лучше минимизировать структуру данных, и, если она должна быть избыточной, можно допустить временную несогласованность.
ДОБАВЛЕНО:
В качестве иллюстрации того, что ОО поощряет, вот что я иногда вижу в настройке производительности: кто-то устанавливает SomeProperty = true;
. Это звучит достаточно невинно, верно? Хорошо, что это может распространяться на объекты, которые содержат этот объект, часто через полиморфизм, который трудно отследить. Это может означать, что некоторому списку или словарю где-то нужно что-то добавить или удалить из него. Это может означать, что некоторый элемент управления дерева или списка нуждается в добавлении, удалении или перемещении элементов управления. Это может означать, что окна создаются или разрушаются. Это также может означать, что некоторые вещи необходимо изменить в базе данных, которая может быть не локальной, поэтому необходимо выполнить некоторые операции ввода-вывода или блокировки мьютекса.
Это может действительно сойти с ума. Но кого это волнует? Это аннотация .