Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2014, 01:06   #1
Egoist42
 
Регистрация: 25.08.2014
Сообщений: 4
Вопрос Архитектура приложения и MVVM

Доброго времени суток. Есть плеер для ВК, писался по наитию, без соблюдения паттернов и тд, в итоге появилась проблема читабельности кода и также отсутствие разделения логики и представления. Решил выполнить рефакторинг с переходом на MVVM. Возникли вопросы по проектировке модели. Как было:
Классы Трек, Плейлист(коллекция треков, свойста) управлял этим всем класс Менеджер, который хранил плейлисты, уведомлял Ui, отвечал за очередь воспроизведения, за загрузку и установку коллекций. Как работать с плейлистом определяется по его имени.
При переходе на новый паттерн возникли вопросы:
1. какой класс должен отвечать за загрузку и создания коллекции, то есть должен ли плейлист содержать метод для отправки данных для загрузки или этим должен распоряжаться старший класс, который хранит плейлисты?

2. Как идентифицировать плейлист: в принципе строка(название) вполне пригоден.

3. Как лучше организовать архитектуру, структуру классов. Какой отвечает за управление воспроизведением (полей пауз превиос некст и т.д.), какой за добавление, удаление. сортировку треков.

Пы.сы. писать со смарта ужас. Растолкуйте по подробнее, как правильнее, как лучше, как удобнее.
Egoist42 вне форума Ответить с цитированием
Старый 25.08.2014, 09:56   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Цитата:
2. Как идентифицировать плейлист: в принципе строка(название) вполне пригоден.
Наверно внутренний идентификатор, какое-то число очевидно. Желательно очень большое. Со строками вечные проблемы с кодировками, что там и как лучше обходить такие траблы стороной. Да и числа всегда быстрей.
Цитата:
Классы Трек, Плейлист(коллекция треков, свойста) управлял этим всем класс Менеджер, который хранил плейлисты, уведомлял Ui, отвечал за очередь воспроизведения, за загрузку и установку коллекций. Как работать с плейлистом определяется по его имени.
В общем-то не сказать чтобы плохой способ организации работы. Единственно по строкам я бы не согласился. Единственно можно для Менеджера дополнительно нагруппировать однотипные действия в отдельные классы - типа например как сортировку музыки в плейлисте можно отдельно замутить (типа по автору, по тегам от выложившего, по жанру, по длительности трека и т.д.).
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Комманды и ICommand в WPF MVVM andy301086 WPF, UWP, WinRT, XAML 0 09.07.2012 01:04
WPF контекстное меню для ListBox MVVM Нике WPF, UWP, WinRT, XAML 0 29.04.2012 15:26
listbox.SelectionChanged in mvvm Нике C# (си шарп) 6 11.04.2012 18:24
WPF LisBox Selectionchanged to MVVM Нике WPF, UWP, WinRT, XAML 0 10.04.2012 22:31
трехуровневая архитектура клиент-серверного приложения (3 tier architecture) Nomad13 Общие вопросы .NET 1 07.09.2010 14:25