Прокачайте ваш онбординг
с навигатором интерфейсов Experrto
Выберите категорию

Шаблоны проектирования данных: с чего все началось

В 1977 году британский ученый Кристофер Александер (Christopher Alexander), изучавший математику и архитектуру в Кембридже и получивший первую в Гарварде степень кандидата наук в области архитектуры, опубликовал книгу под названием «Язык шаблонов. Города, здания, строительство» (A Pattern Language: Towns, Buildings, Construction). Эта книга изменила мир архитектуры, но что более удивительно — серьезно повлияла на то, как сегодня пишутся программы.

Александер описал правила строительства безопасных зданий: от пространства, вмещающего 8 000 000 человек, до формы и размера каминов внутри частных домов. Сегодня его работа, которая содержит 253 шаблона проектирования, по-прежнему входит в тройку бестселлеров по архитектуре.

Программист или самозванец: как определить уровень кандидата?

Архитектура и программирование

Спустя 10 лет с момента выхода в свет «Языка шаблонов», Кент Бек (Kent Beck) и Вард Каннингам (Ward Cunningham) — два американских инженера программного обеспечения преобразовали идеи Александера, опубликовав статью «Использование языка шаблонов для объектно-ориентированных программ» (Using Pattern Languages for Object Oriented Programs).

Статья стала катализатором перехода к шаблонам программирования, позволявшим решать имеющиеся проблемы последовательным путем. Это вдохновило «Группу Четырех» (Gang of Four) на написание труда по информатике «Шаблоны проектирования» (Design Patterns), в котором были сформулированы такие понятия, как:

  1. WYSIWYG (What You See Is What You Get, «Что вижу, то и есть» — технология, позволяющая представлять редактируемые цифровые данные, приблизительно в том же виде, в котором они будут получены в готовом издании или продукте)
  1. Итераторы (Iterator — интерфейс, предоставляющий доступ к элементам массива или контейнера и навигацию по ним)
  1. Фабричный метод (Factory Method — шаблон проектирования, позволяющий создавать объекты различных типов одним интерфейсом), и др.

С того времени шаблоны проектирования вошли в учебные программы и лексикон компьютерных специалистов. Они по-прежнему продолжают получать широкое распространение — например, в менеджменте они считаются лучшими практическими методами.

Секреты юзабилити: разница между информационной и архитектурной навигацией сайта

Будущее шаблонов проектирования

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

Looker со своим релизом «Блоков» (Blocks) сделал важный шаг в этом направлении. Blocks представляют собой шаблоны проектирования, позволяющие отслеживать поведение и опыт пользователя, так что вы можете анализировать его действия, а не просто веб-трафик.

Шаблоны проектирования данных были протестированы на сотнях клиентов и подробно задокументированы. Они создавались как обобщенные, гибкие к различным источникам информации — таким, как Salesforce, Marketo, Zendesk — и адаптированные к потребностям каждой организации.

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

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

По материалам tomtunguz.comimage source wojtekwowra

Прокачайте ваш онбординг
с навигатором интерфейсов Experrto