Код XAML за файлом и MVC - PullRequest
       25

Код XAML за файлом и MVC

0 голосов
/ 19 января 2011

Имеет ли код, стоящий за файлом, ту же цель, что и класс управления MVC или шаблон Boundary-Control-Entity?

Я сделал несколько небольших проектов с Silverlight и WPF, и большую часть времени я в значительной степени помещал логику в код, стоящий за файлом. Хотя со ссылками на другие классы. Не все в коде позади.

Какова была / является первоначальная цель кода, стоящего за файлом, и как большинство из вас использует его?

Спасибо

Grant

Ответы [ 2 ]

0 голосов
/ 19 января 2011

Изначально файл code-behind совместно с конвертерами данных в WPF служил той же цели, что и code-behind в VB6, C #, VB.NET, что у вас есть. Это прежде всего место для размещения кода, который реагирует на события пользовательского интерфейса. Однако в случае WPF и Silverlight кодирование в файле с выделенным кодом может быть очень запутанным и в дальнейшем может легко привести к проблемам с обслуживанием, если будет реализовано нечто большее, чем простейшая программа.

«Model-View-ViewModel» (MVVM) был задуман, я думаю, в конце разработки WPF; Silverlight был задуман позже, чем MVVM. Рядом, как я могу сказать. Не каждый консультант, которого я слышал о WPF или Silverlight, убежден, что MVVM - это «предпочтительный» шаблон проектирования, но это модель надежной абстракции.

WPF не так хорош, как WinForms, даже сегодня. Это является частью того, что делает его потенциально очень запутанным с потенциальными проблемами обслуживания. MVVM, как шаблон проектирования, компенсирует многие недостатки, связанные с незрелостью XAML и WPF / Silverlight в качестве модели пользовательского интерфейса, и в то же время раскрывает большинство огромных преимуществ, предлагаемых XAML и WPF.

Резюме MVVM доступны здесь , здесь и здесь . Джош Смит является ведущим авторитетом в области паттернов, он продает книгу под названием « Advanced MVVM », которая, как мне сказали, полезна; Однако я смог реализовать некоторые сложные реализации без него.

0 голосов
/ 19 января 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...