2016-07-24 3 views
-7

Я недавно начал работать в небольшой компании-разработчике программного обеспечения, и мы разрабатываем небольшое приложение с WPF, от 6 до 10 экранов (просмотров?), Вероятно.
Первое, что я заметил, это то, что никакие инструментальные средства не используются. У меня мало опыта работы с WPF, главным образом, с существующим контролем. В моей старой компании они работали с Prism, потому что это был большой проект.Что такое WPF Toolkits?

Мои вопросы:

  1. ли Prism хорошо для такого рода проектов? Может быть, MVVM Light? Или Не использовать инструментарий также хорош?
  2. Прямо сейчас они задают контекст данных в коде позади, который я знаю ломает MVVM, почему это так плохо?
+0

вы можете найти более подробную информацию о http://wpftoolkit.codeplex.com/ –

+1

Я думаю, вы имеете в виду MVVM Framework вместо наборов инструментов? Призма очень полезна для больших проектов, особенно если вы хотите, чтобы ваше приложение было модульным. Чтобы установить DataContext в CodeBehind, рекомендуется только при использовании ViewFirst, но я могу рекомендовать MVVM Light, что делает многие вещи более легкими и более гибкими для небольших проектов. –

ответ

0

Для этого не существует «правильного» способа. Это действительно зависит от вас и проблем, с которыми вы сталкиваетесь/столкнетесь с вашим проектом.

Я сделал много приложений с фреймворками и многими без них, все зависит от ваших потребностей.

Привыкание к различным фреймворкам - хорошая идея, так что вы можете определить, когда полезно использовать их, и когда лучше их избегать.

Model View Model Light - хорошая структура, Caliburn.micro также очень хорош.

В зависимости от ваших потребностей пользовательского интерфейса вы также можете быть заинтересованы в Mahapps.metro или ModenUI, чтобы помочь skin ваш пользовательский интерфейс.

Если у вас есть время, я бы посоветовал вам поэкспериментировать с различными фреймворками и посмотреть, что вам нравится/не нравится.

Например, я хотел бы определить, будут ли Caliburn.micro и Mahapps.metro работать для решения, над которым я работал, поэтому я поставил цель для небольшого приложения и дал ему попробовать. Я создал tutorial процесса, а код, который я выставил на GitHub, в случае, если кому-то интереснее.

Смежные вопросы