Я должен использовать Model-View-ViewModel (MVVM) шаблон в проектах Silverlight?

import java.util.ArrayList;
import java.util.Random;
public class shuffle {
    public static void main(String[] args) {
        int a[] =  {1,2,3,4,5,6,7,8,9};
         ArrayList b = new ArrayList();
       int i=0,q=0;
       Random rand = new Random();

       while(a.length!=b.size())
       {
           int l = rand.nextInt(a.length);
//this is one option to that but has a flaw on 0
//           if(a[l] !=0)
//           {
//                b.add(a[l]);
//               a[l]=0;
//               
//           }
//           
// this works for every no. 
                if(!(b.contains(a[l])))
                {
                    b.add(a[l]);
                }



       }

//        for (int j = 0; j <b.size(); j++) {
//            System.out.println(b.get(j));
//            
//        }
System.out.println(b);
    }

}
41
задан Jon Galloway 21 December 2008 в 06:31
поделиться

11 ответов

Я определенно думаю, что необходимо использовать шаблон MVVM для приложений Silverlight - и одно из преимуществ шаблона - то, что можно на самом деле подать заявку, действительно смешивающуюся через некоторые простые методы. Я часто обращаюсь к "смешиваемости" как "дизайн для конструктивности" - что Вы используете определенные методы, чтобы удостовериться, что Ваше приложение выглядит большим в Смешении.

Один из методов - как TorbjГёrn указывает - должен использовать платформу внедрения зависимости и предоставить различные реализации Ваших внешних сервисов в зависимости от того, выполняется ли код в Смешении или в Браузере. Таким образом, я настраиваю свой контейнер для использования фиктивного поставщика данных, когда код выполняется в Смешении и том способе, которым Вы получаете поддержку режима разработки своих полей списков, сетки данных и т.д.

, проблема часто в том состоит, как установить DataContext декларативно - таким образом, я часто заканчиваю тем, что использовал сервисный класс a локатора "фронтэнд" для контейнера МОК. Тем путем я могу ограничить контекст данных к свойству на сервисном локаторе.

Другая техника, создают некоторое управление ObjectDataSource (не визуальный), который имеет два свойства: Время проектирования DataContext и Контекст Данных RunTime. Управление делает задание обнаружения, где выполнение, и затем установка Родителя DataContext к правильному объекту.

32
ответ дан TomHastjarjanto 23 September 2019 в 15:41
поделиться

я также соглашаюсь с Jonas относительно MVVM с Silverlight. Я действительно полагаю, что MVP является также хорошим выбором, но недавно у меня было время для попытки и MVP и MVVM с Silverlight, и я намного более доволен результатами MVVM. (Да, я изменил свой ум, больше я использовал MVVM). Краткие обзоры VM привязка Модели от Представления (очевидно), в MVVM, который допускает более обязательные сценарии (по крайней мере, более чистые способы сделать их), чем с MVP. Это - всего один аспект, все же.

я буду отправлять некоторые примеры и MVP и MVVM с Silverlight на моем сайте.

3
ответ дан Community 23 September 2019 в 15:41
поделиться

Я не уверен, могу ли я ответить на Ваш вопрос, но я нашел статью ниже очень ценного. Jonas FollesГё использует ninject для выключения его сервисов когда в дизайне/режиме смешивания.Очень мило!

http://jonas.follesoe.no/YouCardRevisitedImplementingDependencyInjectionInSilverlight.aspx

4
ответ дан Community 23 September 2019 в 15:41
поделиться

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

определенно шаблон для наблюдения за будущим, хотя, и стоит испытать, если Вы не возражаете 'обманывать' иногда в местах, где Вы не можете вполне понять его.

2
ответ дан Community 23 September 2019 в 15:41
поделиться

я соглашаюсь с Jonas. MVVM, кажется, модель, которая работает лучше всего на меня (хотя John Papa думает, что MVP имеет больше смысла). У меня есть Статья MSDN об этом выходе в марте, который, надо надеяться, ответит на призыв к хорошему примеру.

BTW, я хотел бы видеть некоторое сцепление в отделе Платформы MVVM. Нет хорошего решения для платформы для следования все же. Мне нравится Jonas (я думаю, что Jonas является Платформой FX), но начиная с не WPF, совместимый, это не мог бы быть правильный выбор для некоторых.

2
ответ дан Community 23 September 2019 в 15:41
поделиться

Я люблю шаблон ViewModel и настоятельно рекомендую его. У меня есть несколько "начала работы с ViewModel" типы, размещает в моем блоге.

2
ответ дан Jeff Handley 23 September 2019 в 15:41
поделиться

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

2
ответ дан Daniel Crenna 23 September 2019 в 15:41
поделиться

С выпуском февраля 2009 Призмы v2 P& P, еще лучше поддерживайте для MVVM, теперь доступного для Silverlight и WPF. См. microsoft.com/compositewpf для получения дополнительной информации.

0
ответ дан codingoutloud 23 September 2019 в 15:41
поделиться

Я всегда думал, что MVVM и PresntationModel http://martinfowler.com/eaaDev/PresentationModel.html являются по существу тем же самым. PresentationModel намного легче заявить. Я использовал его успешно в колебании Java, формах окон, WPF и Silverlight. Если Вы думаете с точки зрения разделения проблем, Модель Представления имеет много смысла. У Вас есть один класс, чей только касаются, предоставляет Представлению дружественную Модель. Действительно не имеет значения, что технология используется для показа его на экране. Это могло бы изменить некоторые детали реализации, но разделение проблем независимо является хорошей идеей, неважно, как Вы показываете информацию. Из-за того разделения Вы можете легко тесты записи против своей модели представления независимо от технологии представления. Таким образом, это плюс.

0
ответ дан Mike Two 23 September 2019 в 15:41
поделиться

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

1
ответ дан Community 23 September 2019 в 15:41
поделиться

Есть очень хороший вводный видеоролик Techdays 2010 по шаблону MVVM, четко объясненный:

Для более сложных приложений, требующих более высокая степень автоматизированного тестирования, безусловно, имеет смысл, и переход от DependencyProperties к привязке DataContext намного удобнее, чем его аналог в ASP.NET.

Самая большая проблема, с которой я столкнулся с Silverlight, - это тестирование фактического пользовательского интерфейса (я думаю, что на данный момент существует одна коммерческая структура) и огромное количество вызовов событий, с которыми вы сталкиваетесь при использовании служб WCF (или WebClient, если на то пошло). с Silverlight.

1
ответ дан 27 November 2019 в 00:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: