2. Trygve M. H. Reenskaug
Создатель MVC (1978-1979);
В 2000 начал разработку
новой парадигмы;
В 2006 была готова рабочая
модель;
К 2007-середине 2008 был
готов прототип на C++.
3. Зачем?
Повысить читаемость кода;
Разделить представление чем система
является, от того, что система делает;
Чтобы поддержать мышление объектами, что
ближе к тому, как думают люди, в замен
мышлению классами.
4. Составные части
Data
содержит только данные и методы, которые непосредственно к ним
относятся (напр. валидация)
Context
Класс или экземпляр, который содержит роли, необходимые для
выполнения определенного сценария. Роли подмешиваются к
объектам в рантайме.
Interaction
Содержит набор методов, с помощью которых осуществляется
взаимодействие.
7. Rails
Rails — это MVC фреймворк (спасибо, Кэп!)
Поэтому работать приходится поверх MVC
8.
9.
10. Плюсы
На выходе получаем хорошо
структурированный код;
Код легче тестировать;
Улучшаем ООП;
Решаем некоторые классические ООП
проблемы (Account#transfer)