Охота на мифический MVC. Построение пользовательского интерфейса

Детектив по материалам IT. Часть вторая

В этой части я покажу как изначально выглядело деление пользовательского интерфейса и что из себя представляли Вид и Контроллер. Попробую рассказать почему в современных GUI библиотеках используется их объединение и какие вообще интересные решения можно найти в этой области на сегодняшний день. Ссылки на первоисточники приведены в начале первой части.

Начну с Вида. Не смотря на то, что Вид определяется как модуль, отображающий Модель – «а view is a (visual) representation of its model«, на практике к Виду, как правило, просто относят все графические элементы GUI, то есть Видом считается все то, что мы видим на экране ЭВМ.

Понятно, что тут содержится некое противоречие, поскольку такие графические компоненты как меню, кнопки, тулбары служат не для отображения информации о системе, а прежде всего для управления системой. Клавиатура и мышь всегда были средством управления программой и находились в «ведомости» Контроллера (как бы его не трактовали). Поэтому кажется нелогичным и странным, что кнопки, сделанные из пластмассы, считаются элементами управления и относятся к Контроллеру, а кнопки, нарисованные на экране, и по сути выполняющие те же самые функции (производить входящие события), почему то относят к Виду.

View or Controller

Читать дальше →
Охота на мифический MVC. Построение пользовательского интерфейса
Source: habrahabr

Охота на мифический MVC. Пользовательский интерфейс

Детектив по материалам IT. Часть вторая

В этой части я попробую показать, как же изначально выглядело деление Пользовательского Интерфейса на Вид и Контроллер и какие интересные решения можно найти в этой области на сегодняшний день. Ссылки на первоисточники приведены в начале первой части.

Начну с Вида. Не смотря на то, что Вид определяется как модуль, отображающий Модель – «а view is a (visual) representation of its model«, на практике к Виду, как правило, просто относят все графические элементы GUI, то есть Видом считается все то, что мы видим на экране ЭВМ.

Понятно, что тут содержится некое противоречие, поскольку такие графические компоненты как меню, кнопки, тулбары служат не для отображения информации о системе, а прежде всего для управления системой. Клавиатура и мышь всегда были средством управления программой и находились в «ведомости» Контроллера (как бы его не трактовали). Поэтому кажется нелогичным и странным, что кнопки, сделанные из пластмассы, считаются элементами управления и относятся к Контроллеру, а кнопки, нарисованные на экране, и по сути выполняющие те же самые функции (производить входящие события), почему то относят к Виду.

Читать дальше →
Охота на мифический MVC. Пользовательский интерфейс
Source: habrahabr

Охота на мифический MVC. Пользовательский интерфейс: как делить и куда помещать логику

Детектив по материалам IT. Часть вторая

Чтобы не было разочарований, «считаю долгом предупредить, что кот древнее и неприкосновенное животное» что в этой части будет продолжено исследование “исторического хлама” и написанное здесь практически бесполезно при работе с конкретными фреймворками.

Ну а тем, кто не испугался, я попробую показать, как же изначально выглядело деление Вид/Контроллер и какие интересные решения можно найти в этой области на сегодняшний день. Ссылки на первоисточники приведены в начале первой части.

Итак, переходим к Пользовательскому Интерфейсу. Не смотря на то что Вид определяется как модуль, отображающий Модель – «а view is a (visual) representation of its model«, на практике к Виду, как правило, просто относят все графические элементы GUI, то есть Видом считается все то, что мы видим на экране ЭВМ.

Понятно, что тут содержится некое противоречие, поскольку такие графические компоненты как меню, кнопки, тулбары служат не для отображения информации о системе, а прежде всего для управления системой. Клавиатура и мышь всегда были средством управления программой и находились в «ведомости» Контроллера (как бы его не трактовали). Поэтому кажется нелогичным и странным, что кнопки, сделанные из пластмассы, считаются элементами управления и относятся к Контроллеру, а кнопки, нарисованные на экране, и по сути выполняющие те же самые функции (производить входящие события), почему то относят к Виду.

Читать дальше →
Охота на мифический MVC. Пользовательский интерфейс: как делить и куда помещать логику
Source: habrahabr

Зарубежные сервисы GPS мониторинга (часть 2)


В статье продолжается описание зарубежных сервисов GPS мониторинга. Как и в предыдущей статье, выбраны сервисы, которые обновлялись или имеют опубликованные новости не старше месяца назад. Все сервисы поддерживают большие линейки персональных и автомобильных трекеров, у всех есть собственные мобильные приложения. Все предоставляют возможность работы под собственным брендом (как в рамках облачных инфраструктур производителя, так и с возможностью установки на собственных серверах/инфраструктурах).
Читать дальше →
Зарубежные сервисы GPS мониторинга (часть 2)
Source: habrahabr

Пост №3005669

Автор: MagmaTrack

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://stalker.reactor.cc/post/3005669″ }, «headline»: «stalker art :: s.t.a.l.k.e.r :: Kirill Bulgakov :: фэндомы», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/stalker-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-stalker-art-Kirill-Bulgakov-3689744.jpeg», «height»: 1080, «width»: 1920 }, «datePublished»: «2017-02-27T15:37:53+03:00», «dateModified»: «2017-02-27T15:37:53+03:00», «author»: { «@type»: «Person», «name»: «MagmaTrack» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3005669
Source: Joyreactor

MVC-шаблон программирования как способ реализации процесса проектирования в Ревит

image Revit — программный комплекс, реализующий принцип информационного моделирования зданий — BIM. Предназначен для архитекторов, конструкторов и инженеров.


Прежде, чем разбираться, как же мы будем применять шаблон программирования при создании модели и оформлении документации в Ревит, нужно разобраться, что такое шаблон программирования MVC. Википедия говорит нам, что:

Model-View-Controller («Модель-Представление-Контроллер») — схема разделения данных приложения, интерфейса и логики на три отдельных элемента: модель, представление и контроллер. Модификация каждого компонента осуществляется независимо.

  • Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя свое состояние.
  • Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели.
  • Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.


К слову этот шаблон впервые был описан в 1978 году.


Теперь разберемся, что есть что в Ревит, согласно моей реализации работы по этому шаблону.
Читать дальше →
MVC-шаблон программирования как способ реализации процесса проектирования в Ревит
Source: habrahabr

Пост №3005650

Автор: Tony555

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3005650″ }, «headline»: «котэ (прикольные картинки с кошками)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%BA%D0%BE%D1%82%D1%8D-3689717.jpeg», «height»: 1365, «width»: 2048 }, «datePublished»: «2017-02-27T15:25:45+03:00», «dateModified»: «2017-02-27T15:25:45+03:00», «author»: { «@type»: «Person», «name»: «Tony555» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3005650
Source: Joyreactor

[recovery mode] Линус Торвальдс: «tinydrm выглядит как рафинированное дерьмо, которое никогда не пропускали через компилятор»

Таким образом Линус охарактеризовал недавние патчи к DRM (Direct Rendering Manager) подсистеме, которую курирует David Airlie. Причиной подобного негодования стал тот факт, что код, отправленный Д.Эйрли для включения в состав ядра 4.11, банально не собрался.
Читать дальше →
[recovery mode] Линус Торвальдс: «tinydrm выглядит как рафинированное дерьмо, которое никогда не пропускали через компилятор»
Source: geektimes

Игра-головоломка NeoAngle. Работа с уровнями в Unity


Всем доброго времени суток! Я бы хотел вам рассказать историю своей новой игры-головоломки NeoAngle, а также поделиться опытом импортирования, хранения и генерации уровней в Unity.
Читать дальше →
Игра-головоломка NeoAngle. Работа с уровнями в Unity
Source: habrahabr

Energizer Energy E550LTE получил защиту от воды и двойную камеру

На выставке MWC 2017 в Барселоне американская компания Energizer, известная в первую очередь в качестве производителя элементов питания, представила защищённый смартфон Energy E550LTE. Отметим, что это […]
Energizer Energy E550LTE получил защиту от воды и двойную камеру
Source: 4pda