powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / MVVM Framework. Кто какой использует?
11 сообщений из 236, страница 10 из 10
MVVM Framework. Кто какой использует?
    #37058205
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buredВ сети появилась книга

Сам не увлекаюсь, местным на заметку.
P.S. просьба не разводить срачЪ ;d
Индусским студентам нужно кормиться, вот и пишут порноту всякую :)
...
Рейтинг: 0 / 0
MVVM Framework. Кто какой использует?
    #37058213
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нигде не встречал вот такую методику сращивания моделиМорды с мордой в режиме создания View Model First.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
    public class ViewModel : SomeBaseClassForINotifyPropertyChangedAndOtherCrap
    {        
        public object View
        {
            get { return _View; }
            set
            {
                SetViewData(null);
                _View = value;
                SetViewData(this);
                OnPropertyChanged(() => View);
            }
        }
        object _View;

        void SetViewData(object model)
        {
            if (View == null)
                return;

            var iView = View as IView;
            if (iView != null)
            {
                iView.Data = model;
                return;
            }

            var frameworkElementView = View as FrameworkElement;
            if (frameworkElementView != null)
            {
                frameworkElementView.DataContext = model;
                return;
            }
        }
    }

    public class ViewModel<TView> : ViewModel
    {
        public ViewModel(bool createView)
        {
            if (createView)
                View = Activator.CreateInstance<TView>();
        }

        public ViewModel()
            : this(true)
        { }

        public ViewModel(TView view)
            : this(false)
        {
            View = view;
        }

        public TView ViewAsT
        {
            get { return (TView)base.View; }
            set { base.View = value; }
        }

        protected override void OnPropertyChanged(string name)
        {
            base.OnPropertyChanged(name);
            if (name == "View")
                OnPropertyChanged(() => ViewAsT);
        }
    }

    public interface IView
    {
        object Data { get; set; }
    }

Мне представляется такая схема наиболее жизнеспособной. Интересны мнения по поводу недостатков и преимуществ этого подхода.
...
Рейтинг: 0 / 0
MVVM Framework. Кто какой использует?
    #37058252
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, Лёнь. Порнушно. Тут в родном коде бехинде представления лучше общаться с ViewModel.
Ваш же способ пакуется в печь по причине непереносимости ViewModel - ибо жестко прибито гвоздями представление. Отоночё.
...
Рейтинг: 0 / 0
MVVM Framework. Кто какой использует?
    #37058258
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНе, Лёнь. Порнушно. Тут в родном коде бехинде представления лучше общаться с ViewModel.
Ваш же способ пакуется в печь по причине непереносимости ViewModel - ибо жестко прибито гвоздями представление. Отоночё.Как раз наоборот. В кодбехинде логика железно прибита к представлению. В моём случае ViewModel может иметь свою иерархию наследования и взаимодействовать с разными типами View в зависимости от потребностей.
...
Рейтинг: 0 / 0
MVVM Framework. Кто какой использует?
    #37058340
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В коде бехинде нет логики. Там только вызовы методов вьюмодели :)
...
Рейтинг: 0 / 0
MVVM Framework. Кто какой использует?
    #37058348
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВ коде бехинде нет логики. Там только вызовы методов вьюмодели :)Тогда речь идёт о View First? Если так, то я говорю о ViewModel First.
...
Рейтинг: 0 / 0
MVVM Framework. Кто какой использует?
    #37058351
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУТам только вызовы методов вьюмодели :)OFF: Через ICommand лучше. :-)
...
Рейтинг: 0 / 0
MVVM Framework. Кто какой использует?
    #37058353
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Другими словами, коде бехинде выступает в роли презентационного слоя. А точнее - контроллера..
Баян, уже дискутировали. С примрами гавнокодига.
...
Рейтинг: 0 / 0
MVVM Framework. Кто какой использует?
    #37058367
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУТам только вызовы методов вьюмодели :)OFF: Через ICommand лучше. :-)
Через коде бехинде гибче и больше возможностей. Тем более, он бесплатно генерится. Нечего ему пустовать :)
...
Рейтинг: 0 / 0
MVVM Framework. Кто какой использует?
    #37058375
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВаш же способ пакуется в печь по причине непереносимости ViewModel - ибо жестко прибито гвоздями представление. Кстати, а чего в этом плохого? В большинстве случаев МодельМорды и Морда создаются одновременно и живут сообща. В случае, когда это не так - никто не заставляет применять такой способ. А про тестирование тоже уже много говорили. :-)
...
Рейтинг: 0 / 0
MVVM Framework. Кто какой использует?
    #37058391
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЧерез коде бехинде гибче и больше возможностей. Тем более, он бесплатно генерится. Нечего ему пустовать :)Если МодельМорды инкапсулирована в Морду - при взаимодействии нескольких МоделейМорд приходится мутить средства для делегирования или приведения типов вроде:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
class MyUserControl : UserControl
{
     public MyViewModel Data
     {
          get { return (MyViewModel)DataContext; }
          set { DataContext = value; }
     }
}

Учитывая, что дизайнер не любит наследования - эта необходимость весьма неприятна.
...
Рейтинг: 0 / 0
11 сообщений из 236, страница 10 из 10
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / MVVM Framework. Кто какой использует?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]