Готовый перевод Learning JavaScript Design Patterns / Шаблоны проектирования JavaScript: Написание шаблонов
Хотя эта книга предназначена для новых шаблонов проектирования, фундаментальное понимание того как пишутся шаблоны предлагает несколько полезных преимуществ. Во первых, мы можем помочь глубже понять то для чего собственно шаблон нужен. Так же мы можем изучить насколько шаблон(или прото-шаблон) подходит для наших собственных нужд.
Написание хороших шаблонов сложная задача. Шаблоны должны иметь не только хорошую документацию для пользователя, но также должны быть способными доказать почему именно они необходимы.
Прочитав предыдущие разделы об шаблонах, вы можете решить что этого достаточно чтоб определить закономерности шаблонов в природе. Это не совсем так. Не всегда понятно который кусок кода должен быть в шаблоне или он просто там случайно появился, как это бывает.
Когда мы смотрим на тело кода, в котором может быть использован шаблон, мы должны учитывать некоторые аспекты кода, которые подходят под существующий шаблон или набор шаблонов.
В многих случаях анализа шаблонов мы можем обнаружить просто глядя в код который следует хорошим принципам и практикам проектирования, что он может случайно частично совпадать с правилами для шаблона. Запомните - решения в которых нет взаимосвязей или не определены правила - не шаблоны.
Если вы все же рискнете стать на путь написания своих собственных шаблонов, я рекомендую учиться в тех что уже успешно прошел этот путь. Потратьте время на изучения описаний множества разных шаблонов проектирования и выберите важные для вас.
Изучите структуру и семантику, это может быть сделано путем изучения взаимодействий и связей в интересных вам шаблонах, поэтому вы можете определить принципы которые помогают организовать шаблоны вместе в полноценной форме.
Однажды под воздействием множества информации об шаблонах, мы можем решить начать писать шаблон в существующем формате и увидеть сможем ли придумать улучшение или объединить наши идеи в нем.
К примеру, разработчик Кристиан Хейлман сделал это в прошлом году, он взял существующий шаблон Модуль и сделал полезные фундаментальные изменения в нем для создания шаблона Открытый Модуль (один из модулей который рассматривается в этой книге).
Если вы заинтересованы в создании новых шаблонов, я хотел бы предложить несколько советов:
- Насколько шаблон практичен? Убедитесь что шаблон использует доказанное решение для повторяющихся задач, а не только спекулятивные не квалифицированные решения.
- Помните об передовом опыте: проектируя решения мы должны основываться на принципах полученных от понимания лучших практик.
- Наши шаблоны проектирования должны быть понятны для пользователя: они должны быть полностью понятны любому пользователю с различным опытом.
Запомните, что при проектировании шаблонов не требуется оригинальность. Не надо становиться первооткрывателем документированных решений или беспокоиться о том, что оно содержит минорные фрагменты других шаблонов. Если метод можно применить для решения широкого круга задач, то у него есть шанс стать шаблоном.
Описание хорошего шаблона должно сопровождаться достаточным числом примеров, демонстрирующих его успешное применение. Чтобы очертить границы применимости идеально подойду примеры, демонстрирующие хорошие принципы проектирования.
Для создания шаблонов, требуется решение, которое будет точным и прежде всего полезным. Убедитесь, что при написании шаблона вы охватили наибольшую часть приложения и тогда все будет в порядке. Надеюсь, что это краткое введение в написание шаблонов поможет вам в процессе изучения последующих глав этой книги.
Переведено на Нотабеноиде
http://notabenoid.org/book/42061/161336
Переводчики: SqrTT, On_and_On
Настройки
Готово:
