data, context and interaction

Post on 08-Jul-2015

245 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related