Шаблоны MVVM против блоков

Я использую GetFiles, завернутый в метод, как показано ниже:

 public static String[] GetFilesFrom(String searchFolder, String[] filters, bool isRecursive)
 {
    List<String> filesFound = new List<String>();
    var searchOption = isRecursive ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly;
    foreach (var filter in filters)
    {
       filesFound.AddRange(Directory.GetFiles(searchFolder, String.Format("*.{0}", filter), searchOption));
    }
    return filesFound.ToArray();
 }

Его легко использовать:

String searchFolder = @"C:\MyFolderWithImages";
var filters = new String[] { "jpg", "jpeg", "png", "gif", "tiff", "bmp" };
var files = GetFilesFrom(searchFolder, filters, false);
2
задан niegus 1 March 2019 в 10:44
поделиться

1 ответ

Глядя на эту иллюстрацию для MVVM ( источник ):

Вы можете видеть, что есть отдельные модели данных и бизнес-логики. Однако, используя BLoC , на самом деле нет такого различия. Классы, которые обрабатывают бизнес-логику, также обрабатывают данные, что также может применяться к MVVM .

Чтобы быть справедливым, на самом деле нет большой разницы. ключевая часть , которую нужно убрать, одинакова для обоих: Изоляция бизнес-логики от пользовательского интерфейса. Следовательно, реализация любого из двух будет выглядеть очень похоже, то есть с использованием Stream и StreamBuilder .
Кроме того, существуют пакеты, облегчающие работу с Stream, например, rxdart , это то, что команда Flutter использует, насколько мне известно.

0
ответ дан creativecreatorormaybenot 1 March 2019 в 10:44
поделиться
Другие вопросы по тегам:

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