Рубрика:
Разработка /
Особенности языка
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
АЛЕКСАНДР МАЙОРОВ, Tutu.ru, руководитель отдела Frontend-разработки, alexander@majorov.su
ES Декораторы: разбираемся в деталях
В декораторах JavaScript вроде бы нет ничего особенного, каждому разработчику, знающему теорию ООП, известен такой шаблон проектирования. Но только ли дело в ООП? Ипочему они становятся популярны?
С ростом популярности таких инструментов, как TypeScript и Babeljs, все больше разработчиков пробуют новые экспериментальные фишки черновых, и не только, стандартов языка ECMAScript, именуемого по традиции JavaScript. К таким экспериментальным фичам относятся и декораторы (Decorator). Или аннотации… Так декораторы или аннотации? О, а чтоэто такое вообще?
С выходом новой версии Angular2 интерес к декораторам/аннотациям возрастает, так как это часть стандартного процесса разработки и кодовой базы новой версии популярного фреймворка.
Давайте разбираться, что же это. А начнем мы с определений, ведь мы же хотим разобраться, верно?..
ООП паттерн Декоратор
В объектно ориентированном программировании паттерн Декоратор относится к структурным шаблонам проектирования.
Структурные шаблоны – шаблоны проектирования, в которых рассматривается вопрос о том, как из классов и объектов образуются более крупные структуры.
Классическое определение Декоратора – структурный шаблон проектирования, предназначенный для динамического подключения дополнительного поведения к объекту. Шаблон Декоратор предоставляет гибкую альтернативу практике создания подклассов в целях расширения функциональности.
Задача шаблона Декоратор проста и сводится к следующему: объект, который предполагается использовать, выполняет основные функции, но при этом может потребоваться добавить к нему некоторую дополнительную функциональность, которая будет выполняться до, после или даже вместо основной функциональности объекта.
Итак, вроде бы ничего сложного. У нас есть некоторый класс или объект, который мы можем задекорировать – добавить новый функционал или даже изменить существующий.
Статью целиком читайте в журнале «Системный администратор», №05 за 2016 г. на страницах 56-61.
PDF-версию данного номера можно приобрести в нашем магазине.
- Библиотека rtts-ts – https://github.com/frontdevops/rtts-ts.
- Библиотека core-decorators.js – https://github.com/jayphelps/core-decorators.js.
- Видео с моего доклада о декораторах на MoscowJS 28 – https://it.mail.ru/video/465.
- Презентация о декораторах – http://moscowjs.majorov.su.
- Проверка JSON с помощью декораторов в TypeScript – https://habrahabr.ru/post/262105.
- Подборка статей на тему декораторов – https://medium.com/@frontman/статьи-про-es7-декор-торы-6b8d519049e4.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|