В 29 -минутном выступлении Рич Хики, посвященном размышлениям на конференции Goto « Значение ценностей », он рассказывает о накладных расходах такого языка, как Java, и делает следующее заявление: «Все эти интерфейсы убивают ваше повторное использование». Что он имеет в виду? Это правда?
В поисках ответов я наткнулся на:
Принцип Наименьшего Знания AKA Закон Деметры, который поощряет герметичные интерфейсы API. В Википедии также перечислены некоторые недостатки.
Кризис Имперской Одежды Кевлина Хенни, который утверждает, что использование, а не повторное использование является соответствующей целью.
Лекция Джека Дидерича " Остановка написания классов ", в которой высказывается аргумент против чрезмерной инженерии в целом.
Понятно, что все написанное достаточно плохо будет бесполезно. Но как интерфейс хорошо написанного API предотвратит использование этого кода? В истории есть примеры того, как что-то сделано для одной цели и используется больше для чего-то другого . Но в мире программного обеспечения, если вы используете что-то для целей, для которых оно не предназначено, оно обычно ломается.
Я ищу один хороший пример хорошего интерфейса, предотвращающего законное, но непреднамеренное использование некоторого кода. Это существует? Я не могу представить это.