Top Banner
DCI Data, Context and Interaction
13

Data, Context and Interaction

Jul 08, 2015

Download

Documents

Dmitriy Rozhkov
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Data, Context and Interaction

DCIData, Context and Interaction

Page 2: Data, Context and Interaction

Trygve M. H. ReenskaugСоздатель MVC (1978-1979);

В 2000 начал разработку новой парадигмы;

В 2006 была готова рабочая модель;

К 2007-середине 2008 был готов прототип на C++.

Page 3: Data, Context and Interaction

Зачем?Повысить читаемость кода;

Разделить представление чем система является, от того, что система делает;

Чтобы поддержать мышление объектами, что ближе к тому, как думают люди, в замен мышлению классами.

Page 4: Data, Context and Interaction

Составные частиDataсодержит только данные и методы, которые непосредственно к ним относятся (напр. валидация)

ContextКласс или экземпляр, который содержит роли, необходимые для выполнения определенного сценария. Роли подмешиваются к объектам в рантайме.

InteractionСодержит набор методов, с помощью которых осуществляется взаимодействие.

Page 5: Data, Context and Interaction

Let’s talk about Ruby

Page 6: Data, Context and Interaction

What about Python?HTTPS://GITHUB.COM/AMOLENAAR/ROLES

Page 7: Data, Context and Interaction

RailsRails — это MVC фреймворк (спасибо, Кэп!)

Поэтому работать приходится поверх MVC

Page 8: Data, Context and Interaction
Page 9: Data, Context and Interaction
Page 10: Data, Context and Interaction

ПлюсыНа выходе получаем хорошо структурированный код;

Код легче тестировать;

Улучшаем ООП;

Решаем некоторые классические ООП проблемы (Account#transfer)

Page 11: Data, Context and Interaction

МинусыНужно серьезно перестроить мозг

Фреймворки еще не готовы на 100%

На выходе можно получить половинчатое решение

Page 12: Data, Context and Interaction

Problem?

Page 13: Data, Context and Interaction

Jim Gay http://youtu.be/lhFSc0dWstohttp://blog.firsthand.ca/2011/10/rails-is-not-your-application.htmlUncle Bob http://www.youtube.com/watch?v=WpkDN78P884