среда, 30 июня 2021 г.

Об абстрациях в ООП

Взято из следующего материала http://www.smashcompany.com/technology/object-oriented-programming-is-an-expensive-disaster-which-must-end .

Что касается этого стремления к абстракции в ПО, Джоэл Спольски написал пародию о постройке полки для специй.

Я решил купить молоток и попросил у продавца молоток.

"Молоток?" он спросил. «Никто больше не покупает молотки. Они немного старомодны ».

Удивленный таким развитием событий, я спрашиваю его, почему.

«Что ж, проблема с молотками в том, что существует очень много разных видов. Кувалды, гвоздодеры, перфораторы. Что, если вы купили один молоток, а потом поняли, что вам понадобится другой молоток позже? Для следующего задания вам придется купить отдельный молоток. Как оказалось, большинству людей действительно нужен один молоток, способный справиться со всеми видами молотковых задач, с которыми вы можете столкнуться в своей жизни ».

«Хммммм. Что ж, я полагаю, это звучит нормально. Вы можете показать мне, где найти универсальный молот ».

«Нет, мы их больше не продаем. Они довольно устарели ».

"В самом деле? Я думал, вы только что сказали, что Universal Hammer - это волна будущего ».

«Как выясняется, если вы сделаете только один вид молота, способный выполнять те же задачи, что и все эти разные виды молотов, то он не очень хорош ни в одном из них. Забивать гвоздь кувалдой не очень эффективно. А если ты хочешь убить свою бывшую девушку, ничто не заменит ударный молоток ».

"Это правда. Итак, если никто больше не покупает универсальные молотки, и если вы больше не продаете все эти старомодные молотки, какие молотки вы продаете? »

«На самом деле, мы вообще не продаем молотки».

"Так…"

«Согласно нашим исследованиям, людям действительно нужен был не универсальный молоток. Всегда лучше иметь молоток, подходящий для работы. Итак, мы начали продавать молотковые заводы, способные производить любые виды молотков, которые могут быть вам интересны. Все, что вам нужно сделать, это укомплектовать молотковую фабрику рабочими, активировать оборудование, купить сырье, оплатить счета за коммунальные услуги и PRESTO… вы получите * именно тот молоток, который вам нужен, в кратчайшие сроки ».

«Но я действительно не хочу покупать молотковый завод…»

"Это хорошо. Потому что мы их больше не продаем ».

«Но я думал, ты только что сказал…»

«Мы обнаружили, что большинству людей на самом деле не нужна вся молотковая фабрика. Некоторым, например, никогда не понадобится перфоратор. (Может быть, у них никогда не было бывших подружек. Или, может быть, они вместо этого убили их ледорубами.) Так что нет смысла в том, чтобы кто-то покупал молотковый завод, который может производить все виды молотов под солнцем ».

«Да, в этом есть большой смысл».

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

«Дай угадаю. Вы их больше не продаете ».

"Неа. Конечно нет. Оказывается, люди не хотят строить целую фабрику только для того, чтобы произвести пару молотов. Предоставьте заводское строительство специалистам по заводскому строительству, я всегда так говорю!! »

«И я бы с тобой согласился».

"Ага. Поэтому мы прекратили продавать эти схемы и начали продавать фабрики по производству молотов. Каждая фабрика по производству молотов строится для вас лучшими специалистами в области фабрики по производству молотов, поэтому вам не нужно беспокоиться обо всех деталях, которые входят в строительство завода. Тем не менее, вы по-прежнему получаете все преимущества наличия собственной индивидуальной молотковой фабрики, производящей собственные индивидуальные молотки в соответствии с вашими индивидуальными конструкциями молотков ».

«Ну, на самом деле это не так ...»

«Я знаю, что ты собираешься сказать !! … И мы их больше не продаем. По какой-то причине не так много людей покупали фабрики по производству молотов, поэтому мы придумали новое решение проблемы ».

"Ага."

«Когда мы отступили и посмотрели на глобальную инфраструктуру инструмента, мы определили, что люди были разочарованы необходимостью управлять и управлять заводом по производству молотов, а также заводом по производству молотов, который он производил. Такие накладные расходы могут стать довольно обременительными, когда вы имеете дело с вероятным сценарием, когда вы также работаете с фабрикой по производству рулеток, фабрикой по производству пил и фабрикой по производству уровней, не говоря уже о холдинговой компании конгломерата по производству пиломатериалов. Когда мы действительно посмотрели на ситуацию, мы определили, что это слишком сложно для того, кто действительно просто хочет построить стойку для специй ».

«Да, без шуток».

«Итак, на этой неделе мы представляем универсальную фабрику по производству инструментов, чтобы все ваши различные фабрики по производству инструментов могли производиться на одной объединенной фабрике. Фабрика-фабрика-фабрика будет производить только те инструментальные фабрики, которые вам действительно нужны, и каждая из этих фабрик-фабрик будет производить одну-единственную фабрику на основе ваших индивидуальных спецификаций инструмента. Окончательный набор инструментов, который появится в результате этого процесса, станет идеальным инструментом для вашего конкретного проекта. У вас будет именно молоток, который вам нужен, и именно та рулетка, которая идеально подходит для вашей задачи, и все это одним нажатием кнопки (хотя вам также, возможно, придется развернуть несколько файлов конфигурации, чтобы все это работало в соответствии с вашими ожиданиями."

«Так у вас нет молотков? Вовсе нет?"

Комментариев нет:

Отправить комментарий