2010-09-09 2 views
4

Является ли Windows форматом Simart Client - это устаревшая вещь? И он должен быть заменен Призмом (и/или MVVM)? Должен ли я позаботиться о Smart Client?Смарт-клиент Winform против MVVM + Prism

Другой вопрос, который может быть связан с является то, что различия в производительности между Winforms и WPF помимо всего интересного материала в МОФ как связывание данных и 3D? Работает ли WPF для работы в ОС Windows 2000 и Pre2000? Этот вопрос важен, поскольку он может очень сильно решить, какую платформу вы собираетесь использовать winforms или WPF, когда вам приходится поддерживать старые ОС (например, в NHS)?

ответ

6

Поработав как с Smart Client Software Factory и WPF + MVVM, я бы, конечно, рассматривать SCSF "наследство". Я бы не использовал его в новом проекте. Во-первых, он основан на WinForms, но, возможно, что более важно, это раздутая структура. Это громоздко и не поддается самопроизвольному тестированию. Я обнаружил, что после разработки приложения с ним в течение большей части 5 лет, что рамки просто «мешали» слишком часто.

Я не могу говорить с Prism, но после моего опыта с SCSF я бы уклоняться от каких-либо вне-коробки рамок. Когда я начал работать с WPF и MVVM, я написал свои собственные «фреймворки». Действительно, единственное, что мне было нужно, это хороший контейнер IoC (StructureMap был моим выбором) и EventAggregator (два интерфейса и одна реализация класса, которую я написал сам, заимствуя непосредственно из сообщения в блоге Джереми Миллера). Кроме этого, я иду с прямым WPF и MVVM-моделью разработки.

Учитывая настольное приложение с нуля, мой выбор был бы WPF, MVVM & StructureMap.

+0

Не могу согласиться с вами больше! (основанный на моем прошлом опыте с SCSF и присутствующем с PRISM). может быть в будущем, когда я получу вызов, я бы хотел пойти с подобной позицией! – ioWint

+0

вы имели в виду эту статью [как-им-использования-на-EVENT-агрегатор-модель-в-сказочника] (http://codebetter.com/jeremymiller/2009/07/24/how-im-using-the- событийно-агрегатор-паттерн-в-сказочника /)? – surfmuggle

+0

Да, это статья. Я закончил тем, что написал собственный агрегатор событий. Это было немного проще, чем у Джереми, но образец и реализация были одинаковыми. Это хороший шаблон, если вы вынуждены работать с WPF или WinForms, и вам нужны разные части приложения, чтобы передавать сообщения друг другу. –

1

Я думаю, что ваш первый вопрос в значительной степени сводится к WPF versus Winforms, которые ответили раньше.

Однако, в отношении вашего второго вопроса о WPF на Win2000 и более ранних версиях, WPF является частью .NET 3.0, и вам нужно как минимум XP SP2 или Win2003 Server для .NET 3.0, как можно видеть here, поэтому, если вы хотите используйте .NET в среде pre XP, вам придется придерживаться WinForms.

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