Джоэл Спольски в 2002 году ввел термин «дырявые абстракции» (leaky abstractions]'. Абстракции упрощают внутреннюю работу некоторой технологии и делают эту технологию более простой в использовании. Но кода возникает ситуация, в которой вы должны знать способ сделать внутреннюю работу более производительной, то, вероятно, эта ситуация была вызвана дырявой абстракцией. Использование шаблона Активная запись как модели в архитектуре MVC — это пример дырявой абстракции. В очень простых случаях шаблон Активная запись работает как по волшебной палочке. Но если вы пытаетесь использовать его для доступа к базе данных, вы обнаруживаете множество таких операций, как JOIN или GROUP BY, которые просты для выражения в SQL, но неудобны в шаблоне Активная Запись.
Некоторые каркасы могут улучшить Активную запись, вводя поддержку большого разнообразия операторов SQL. Чем больше этих улучшений предоставляет факт того, что класс использует SQL внутренне, тем больше вы чувствуете, что было бы лучше использовать SQL непосредственно.
Опубликовал vovan666
August 26 2013 10:23:12 ·
0 Комментариев ·
4014 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.