Pull to refresh

Comments 6

А можно вкратце, зачем это все изучать, если для большинства задач достаточно не то что майкрософтовского prism, а даже Caliburn.Micro + PropertyChanged.Fody (чтобы не писать геттеры и сеттеры для NotifyPropertyChanged)? Зачем еще один фреймворк с высоким порогом вхождения? Because we can?
На самом деле, порог вхождения не такой высокий, как может показаться изначально. Достаточно лишь взглянуть на пример проекта, который идёт вместе с библиотекой, ведь даже начинающий разработчик при желании интуитивно разберётся в нём.

При достаточной своей простоте фреймворк позволяет решать очень широкий спектр задач, возникающих при разработке. Причём, красиво и лаконично.
Кроме того, говоря о сложности и пороге вхождения, можно сравнить разные библиотеки по количеству базовых классов и интерфейсов. Это, конечно, не саймый объективный показатель, но всё же получить представление о работе 10-15 классов обычно проще, чем 20-30.
Стать очень сумбурная, сильно не хватает структурированности. Я считаю, что в начале надо чётко отделить теоретическую часть, описывающую некий новый шаблон проектирования с объяснением чем конкретно он хорош (фразы типа «красивым и естественным образом решить множество рутинных задач» не считаются) и почему стоит тратить время на его изучение. С обязательным указанием отличий от других широкораспространённых шаблонов. Ну или хотя бы ссылку дать на такой материал. И уже потОм, для заинтересованных давать многоэкранные куски кода и описание множества технических деталей.
Хотя, можно считать статью чисто техническим руководством для тех кто уже выбрал этот шаблон (о чём как бы намекает метка tutorial). Но тогда надо убрать с видного места в начале фразу «Статья будет полезна не только .NET-программистам, поскольку основные рекомендации носят фундаментальный характер.». Лично я таких фундаментальных рекомендаций в статье так и не нашёл.
Убрал спорную фразу.

В двух словах, паттерн заключается в следующем:

• с любым представлением может быть связан один или несколько контекстных объектов (и наоборот, то есть отношение многие ко многим). Любые взаимодействия представлений и контекстных объектов происходят посредством медиаторов трёх видов: привязки свойст, команд и инжекции контекста.

• классические вью-модели и модели — это сущности, выполняющие различные функции, но обладающие общим основанием (контекстная фундаментальность). Другими словами, это два вида тех самых контекстных объектов.

Также, как дополнение, к паттерну относится ряд принципов и рекомендаций, описанных в статье.
Возможно, ещё что-то требует пояснения или дополнения, не стесняйтесь спрашивать…
Дополнил статью и поместил теоретическую часть в начало. Теперь, надеюсь, будут более понятны идеи самого паттерна. Если всё же останутся неясности, то, пожалуйста, задавайте вопросы и пишите замечания. Вся эта информация весьма свежая, поэтому есть трудности с её доступным изложением.
Sign up to leave a comment.

Articles