Highload++ 2017 завершён!

Профессиональная конференция разработчиков высоконагруженных систем

СКОЛКОВО, Москва 7 и 8 ноября

11-я ежегодная конференция для разработчиков highload-систем, которая соберет   2 700 участников из разных регионов России и мира. Мероприятие направлено на обмен знаниями о технологиях, позволяющих одновременно обслуживать многие тысячи и миллионы пользователей.

Программа охватывает такие аспекты веб-разработок, как архитектуры крупных проектов, базы данных и системы хранения, системное администрирование, нагрузочное тестирование, эксплуатация крупных проектов и другие направления, связанные с высоконагруженными системами.

DCI @ XING - масштабируя бизнес-логику
Архитектуры

Доклад принят в Программу конференции
DABY Tech OÜ

Участвовал в разнообразных типах проектов - от разработки низкоуровневых SDK до создания высоконагруженных web-порталов. В частности, руководил разработкой сервиса My Kaspersky. Основатель и разработчик в компании, работающей в области affiliate marketing.

Тезисы

В XING мы пишем на OO языках. С развитием проектов скорость разработки новых сценариев существенно снизилась, несмотря на (а отчасти и благодаря) применению современных framework'ов, упрощающих и ускоряющих разработку. Так происходило до тех пор, пока мы не сменили парадигму OOP на DCI.

DCI расшифровывается как Data-Context-Interaction. Этот подход был впервые применен Trygve Reenskaug, автором знаменитого паттерна MVC. Немногие знают, что MVC сначала назывался MVC-U, где U обозначало user'а, управляющего моделью предметной области через View с Controller'ом. Но в какой-то момент о user'е забыли. DCI - это попытка вернуть фокус разработчиков на взаимодействие пользователя с системой. Применяя эту парадигму, программист начинает думать, а главное, писать код так, как пользователь представляет себе модель предметной области, а именно в терминах объектов данных (Data), которые в разных ситуациях (Context) по-разному взаимодействуют (Interaction) между собой, исполняя разные роли.

В своем докладе я покажу, как XING применяет DCI. На примерах из нашего кода мы обсудим проблемы традиционного OO-подхода и проследим за трансформацией кода с применением DCI. Я также покажу, как DCI упростил применение Domain Driven Design и позволил нам вести разработку в Behaviour Driven стиле.

С ростом сложности решений разработчикам становится все сложнее поддерживать и развивать их код, построенный на принципах OOP, и, так называемых, лучших практиках. DCI - это инструмент, позволяющий масштабировать бизнес-логику с ростом сложности системы, упрощая её код и сам процесс разработки. Я считаю, что DCI - это обязательный инструмент в арсенале современного разработчика, пишущего на OO языках.

Бэкенд / другое
,
Микросервисы, SOA
,
Архитектурные паттерны
,
Архитектуры / другое
,
Проектирование информационных систем

Другие доклады секции
Архитектуры

Rambler's Top100