Готовый перевод Pyramid Documentation / Документация Pyramid: designdefence.rst
Защита принципов проектирования Pyramid's
Время от времени возникают дискуссии о различных аспектах проектированиия приложений Pyramid.
Для того, чтобы задать основы для таких дискуссий мы подробно обсудим некоторые проектные решения и компромиссы.
В некоторых случаях, мы признаем, что framework можно было сделать лучше, и мы даем описание дальнейших шагов, которые помогут его совершенствованию; в некоторых случаях мы просто регистрируем проблему, ведь очевидно, что Вы не можете всегда всем угодить в одно и тоже время.
Pyramid предоставляет несколько путей сделать это.
Каноном массовой культуры Python является "TIOOWTDI" ("есть только один способ сделать
это", пренебрежительная, издевательская ссылка на "TIMTOWTDI" Perl, который является
акроним фразы "есть несколько способов сделать это").
Приложение 'Pyramid', хорошо это или плохо, относиться к "TIMTOWTDI".
Например: оно включает в себя более одного пути разрешения URL, таких как view callable(вызываемое представление), url dispatch(вывод по URL) и traversal(обход объектов).
Существует множество способов конфигурации: imperative configuration, configuration
decoration и ZCML (дополнительно через pyramid_zcml). Оно работает с множеством различных видов систем хранения и шаблонизаторов. И так далее. Однако, есть причины и цели существованию множества взаимозаменяющих путей: у нас много аудитории которой необходимо соответствовать, и мы верим, что TIMTOWTI на уровне framework "предотвращает" гораздо более коварные и губительные наборы дублирования на более высоких уровнях Python веб-сообщества.
Прародителем :app:Pyramid был :mod:repoze.bfg, написанный командой людей с многолетним опытом знанием платформы :term:Zope. Идея самого принципа
:term:traversal и то как реализован :term:view lookup, было полностью заимствовано из Zope. Подсистема авторизации :app:Pyramidпроизводная от авторизации Zope. Идея того, что приложение может быть расширено, без создания форка, также принадлежит Zope.
Переведено на Нотабеноиде
http://notabenoid.org/book/17677/65869
Переводчики: rijangel, uhbif19
Настройки
Готово:
