Data, Context and Interaction
-
Upload
dmitriy-rozhkov -
Category
Documents
-
view
235 -
download
3
Transcript of Data, Context and Interaction
DCIData, Context and Interaction
Trygve M. H. ReenskaugСоздатель MVC (1978-1979);
В 2000 начал разработку новой парадигмы;
В 2006 была готова рабочая модель;
К 2007-середине 2008 был готов прототип на C++.
Зачем?Повысить читаемость кода;
Разделить представление чем система является, от того, что система делает;
Чтобы поддержать мышление объектами, что ближе к тому, как думают люди, в замен мышлению классами.
Составные частиDataсодержит только данные и методы, которые непосредственно к ним относятся (напр. валидация)
ContextКласс или экземпляр, который содержит роли, необходимые для выполнения определенного сценария. Роли подмешиваются к объектам в рантайме.
InteractionСодержит набор методов, с помощью которых осуществляется взаимодействие.
Let’s talk about Ruby
What about Python?HTTPS://GITHUB.COM/AMOLENAAR/ROLES
RailsRails — это MVC фреймворк (спасибо, Кэп!)
Поэтому работать приходится поверх MVC
ПлюсыНа выходе получаем хорошо структурированный код;
Код легче тестировать;
Улучшаем ООП;
Решаем некоторые классические ООП проблемы (Account#transfer)
МинусыНужно серьезно перестроить мозг
Фреймворки еще не готовы на 100%
На выходе можно получить половинчатое решение
Problem?
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